protected void Button11_Click(object sender, EventArgs e)
{
if (!FileUpload1.HasFile)
{
Response.Write("<script>alert('请选择你要上传的图片!')</script>");
Response.AddHeader("Refresh", "0");
}
else
if (FileUpload1.HasFile)
{
string fileContentType = FileUpload1.PostedFile.ContentType;
if (fileContentType == "image/bmp" || fileContentType == "image/gif" || fileContentType == "image/pjpeg" || fileContentType == "image/png")
{
string name = FileUpload1.PostedFile.FileName; // 客户端文件路径
FileInfo file = new FileInfo(name);
string fileName = file.Name; // 文件名称 // 缩略图文件名称
string webFilePath = Server.MapPath("./excel/small/" + fileName); // 服务器端文件路径
string webFilePath_s = Server.MapPath("./excel/big/" + fileName); // 服务器端缩略图路径
if (!File.Exists(webFilePath))
{
try
{
FileUpload1.SaveAs(webFilePath); // 使用 SaveAs 方法保存文件
MakeThumbnail(webFilePath, webFilePath_s, 150, 110, "Cut"); // 生成缩略图方法
Label1.Text = "提示:文件“" + fileName + "”成功上传,文件类型为:" + FileUpload1.PostedFile.ContentType + ",文件大小为:" + FileUpload1.PostedFile.ContentLength + "B";
}
catch (Exception ex)
{
Label1.Text = "提示:文件上传失败,失败原因:" + ex.Message;
}
}
else
{
Label1.Text = "提示:文件已经存在,请重命名后上传";
}
}
else
{
Label1.Text = "提示:文件类型不符";
}
}
Response.AddHeader("Refresh", "0");
}
改成这样:
String suffix = fileName.substring(fileName.lastIndexOf(".")).toLowerCase();
String[] images = { ".jpg", ".jpeg", ".png", ".bmp", ".ico", ".gif" };// 定义图片格式数组
boolean flag = false;
for (int i = 0; i < images.length; i++) {
if (suffix.equals(images[i])) {
flag = true;
break;
}
}
if 判断出问题了,直接进 else
if (!File.Exists(webFilePath))
判断类型是否匹配也不是这样写的啊!
exists 是判断是否存在吧,
定义了一个标签 flag 如果是 true ,说明图片格式不合法,这样写:
if(flag){
// 图片不合法
}else{
// 图片合法
}
string fileContentType = FileUpload1.PostedFile.ContentType;
Response.Write(fileContentType);Response.End();//自己打印fileContentType来看不就清楚了
要学习自己解决问题,复制对自己没什么提升
一步一步调试,要学会定位问题