标签:foreach name round cti log tor value 地方 掌握
在MVC 中文件的上传,一般都采用控件:
1 <h2>IT轮子四——文件上传</h2> 2 <div> 3 <input type="file" /> 4 </div>
前台代码:
<div> <form action="/FileUpload/UploadFile" method="post" enctype="multipart/form-data"> <input type="file" name="file" /><br /><br /> <input type="submit" value="提交" /> </form> </div>
在前台界面,我们需要注意,当采用form提交数据的时候,我们页面中的控件必须要有name属性。否则,后台接收不到数据。
后台代码:
1 [HttpPost] 2 public ActionResult UploadFile() { 3 try 4 { 5 var files = Request.Files; 6 foreach (string item in files) 7 { 8 //可上传多个文件 9 var file = files[item]; 10 var fileName = file.FileName; 11 var filePath = Server.MapPath(string.Format("~/{0}", "File")); 12 //判断路径是否存在 13 if (!Directory.Exists(filePath)) 14 { 15 //创建路径 16 Directory.CreateDirectory(filePath); 17 } 18 //保存文件 19 file.SaveAs(Path.Combine(filePath, fileName)); 20 } 21 } 22 catch (Exception ex) 23 { 24 throw; 25 } 26 return View("Index"); 27 }
好拉,这样就文件就保存到指定的目录拉。
在手敲代码,写这篇博客的时候,突然发现,过去原以为自己懂的文件上传,现在才发现只是自己以为而已;但在实际手敲代码的时候才发现自己遗漏了很多知识点,有不明所以的地方,比如表单上传需要name属性。在查看其他博友的文章才知道这个知识点。
这就是犯了一个毛病:眼高手低。
写博客、作总结,从另一个侧面很好的检验了自己掌握的知识的熟练程度。
谨以这篇博客鞭策自己。
标签:foreach name round cti log tor value 地方 掌握
原文地址:http://www.cnblogs.com/liangxiarong/p/7768459.html