图片上传服务器到底哪里出错了

沉心415 2010-10-30 03:14:26
public void SavePic()
{
Boolean fileOk = false;
string path = Server.MapPath("picture/pic_letter/");
if (FileUpload1.HasFile)
{
string fileE = Path.GetExtension(FileUpload1.FileName).ToLower();
string[] a ={ ".gif", ".bmp", ".jpg", ".pdf", ".imf" };
for (int i = 0; i < a.Length; i++)
{
if (fileE == a[i])
{
fileOk = true;
break;
}
}
if (fileOk)
{

try
{
FileUpload1.PostedFile.SaveAs(path + FileUpload1.FileName);
Response.Write("<script>alert('这句话能执行到')</script>");
}
catch
{
Response.Write("<script>alert('文件上傳不成功')</script>");
}
}
else
{
Response.Write("<Script>alert('請輸入格式爲GIF、BMP、JPG、PDF、IMF的圖片');</Script>");
return;
}

}
else
{
Response.Write("<Script>alert(\"請選擇文件\");</Script>");
return;
}

之前用input《type=file》可以上传
现在改成FileUpload方法 为什么就是没见到上传的文件,也没报错。

还有
FileUpload1.SaveAs(path + FileUpload1.FileName);
FileUpload1.PostedFile.SaveAs(path + FileUpload1.FileName);
这两句有什么区别

...全文
139 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
沉心415 2010-10-30
  • 打赏
  • 举报
回复
wuyq11 :您好,我用您的方法改成功了,上面那个不成功只是测试FileUpload1.PostedFile.SaveAs(文件名)不成功;虽然不知为何,算了,结贴了,反正问题解决了。有时间再来研究
wuyq11 2010-10-30
  • 打赏
  • 举报
回复
检查文件夹操作权限
文件夹路径
沉心415 2010-10-30
  • 打赏
  • 举报
回复

try
{
//savePath = savePath + "\\" + FileUpload1.FileName;
//FileUpload1.SaveAs(savePath);
FileUpload1.PostedFile.SaveAs(FileUpload1.FileName);
Response.Write("<script>alert('文件上傳成功')</script>");
}
catch
{
Response.Write("<script>alert('文件上傳不成功')</script>");
}
我是这样写的,得到,文件上传不成功
沉心415 2010-10-30
  • 打赏
  • 举报
回复
1楼的,刚才确实是写反了,但我刚才用fileUpload.SaveAs(完整路径带文件名);测试通过
fileupload.postedfile.saveas("文件名");还是抛异常

沉心415 2010-10-30
  • 打赏
  • 举报
回复
2楼的,很厉害,呵呵,非常感谢!

FileUpload1.SaveAs
FileUpload1.PostedFile.SaveAs
这两个有什么区别啊,哪位知道的帮忙解说一下。
z289830131 2010-10-30
  • 打赏
  • 举报
回复
你写反了
FileUpload1.PostedFile.SaveAs(path + FileUpload1.FileName);
FileUpload1.SaveAs(FileUpload1.FileName);


fileupload.saveas("完整路径带文件名");
fileupload.postedfile.saveas("文件名");

仔细看看.. 再试试
沉心415 2010-10-30
  • 打赏
  • 举报
回复
奇怪了,按照一楼的意思

FileUpload1.PostedFile.SaveAs(path + FileUpload1.FileName);
FileUpload1.SaveAs(FileUpload1.FileName);

这两句应该是一样啦,我刚测试过了,第一句运行什么都没用,第2句还抛了个异常出来说不成功
wuyq11 2010-10-30
  • 打赏
  • 举报
回复
if(fileUpload.HasFile)
{
string savePath = Server.MapPath("~/picture/pic_letter/");
if(!System.IO.Directory.Exists(savePath))
{
System.IO.Directory.CreateDirectory(savePath);
}
savePath = savePath + "\\" + fileUpload.FileName;
fileUpload.SaveAs(savePath);
}
z289830131 2010-10-30
  • 打赏
  • 举报
回复
fileupload.saveas("完整路径带文件名");
fileupload.postedfile.saveas("文件名");

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧