如何保存上传的文件? 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));