在写这篇博客之前,被网上的博客坑了一个遍。
浪费了很多的时间
最后还是靠一位兄弟解决的问题,不得不说,虽然网上资源多。但是大多数都是水货。如果那些人可以解决你的问题,那我这里明显就没用了,除非你和我一样都是用的vs2017
好了,直接上代码,这是前端的
<!--upload 是控制器方法 后面那个是控制器名字-->
<form action='@Url.Action("Upload", "FilesUpload")' method="post" enctype="multipart/form-data">
<input type="file" name="file" />
<input type="submit" value="提交" />
</form>
控制器的代码
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult UploadX(HttpPostedFileBase file)
{
if (file != null)
{
string fileName = Path.GetFileName(file.FileName);//这才是 vs2017的正确姿势
//string fileName = file.FileName.ToString(); 网上的大部分都是这种,我可以很负责的说 vs2017不可以!上传成功找不到文件,找不到!! string path = Server.MapPath(string.Format("~/{0}", "File"));
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
file.SaveAs(Path.Combine(path, fileName));
}
return View(); }