如何保存上传的文件? c#mvc
我想将一个图像文件上传到项目的文件夹,但是我的catch中有一个错误:无法找到路径’C:\ project \ uploads \ logotipos \ 11111 \’的一部分。
我做错了什么? 我希望保存我的客户端在该文件夹中上传的图像…该文件夹存在…啊,如果我为folder_exists3设置一个断点,显示一个真正的值!
我的代码是:
try { var fileName = dados.cod_cliente; bool folder_exists = Directory.Exists(Server.MapPath("~/uploads")); if(!folder_exists) Directory.CreateDirectory(Server.MapPath("~/uploads")); bool folder_exists2 = Directory.Exists(Server.MapPath("~/uploads/logo")); if(!folder_exists2) Directory.CreateDirectory(Server.MapPath("~/uploads/logo")); bool folder_exists3 = Directory.Exists(Server.MapPath("~/uploads/logo/" + fileName)); if(!folder_exists3) Directory.CreateDirectory(Server.MapPath("~/uploads/logo/"+fileName)); file.SaveAs(Server.MapPath("~/uploads/logo/" + fileName+"/")); } catch(Exception e) { }
有人知道我做错了什么?
谢谢 :)
试试这个:
string targetFolder = HttpContext.Current.Server.MapPath("~/uploads/logo"); string targetPath = Path.Combine(targetFolder, yourFileName); file.SaveAs(targetPath);
您的错误如下:
bool folder_exists3 = Directory.Exists(Server.MapPath("~/uploads/logo/" + fileName)); if(!folder_exists3) Directory.CreateDirectory(Server.MapPath("~/uploads/logo/"+fileName));
检查目录是否存在,但是应该检查文件是否存在:
File.Exists(....);
删除路径的最后一部分以节省您额外的“/”
它应该是
file.SaveAs(Server.MapPath("~/uploads/logo/" + fileName);
您也没有文件扩展名集。
你需要文件名
file.SaveAs(Server.MapPath("~/uploads/logo/" + fileName+"/" + your_image_fillename));