码迷,mamicode.com
首页 > Web开发 > 详细

IT轮子系列(四)——MVC文件上传

时间:2017-11-01 22:57:56      阅读:280      评论:0      收藏:0      [点我收藏+]

标签:foreach   name   round   cti   log   tor   value   地方   掌握   

前言

在MVC 中文件的上传,一般都采用控件:

技术分享
1 <h2>IT轮子四——文件上传</h2>
2 <div>
3     <input type="file" />
4 </div>
View Code

第一种方式:使用form表单上传

前台代码:

技术分享
<div>
    <form action="/FileUpload/UploadFile" method="post" enctype="multipart/form-data">
        <input type="file" name="file" /><br /><br />
        <input type="submit" value="提交" />
    </form>
</div>
View Code

在前台界面,我们需要注意,当采用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         }
View Code

好拉,这样就文件就保存到指定的目录拉。

后记

在手敲代码,写这篇博客的时候,突然发现,过去原以为自己懂的文件上传,现在才发现只是自己以为而已;但在实际手敲代码的时候才发现自己遗漏了很多知识点,有不明所以的地方,比如表单上传需要name属性。在查看其他博友的文章才知道这个知识点。

这就是犯了一个毛病:眼高手低

写博客、作总结,从另一个侧面很好的检验了自己掌握的知识的熟练程度。

谨以这篇博客鞭策自己

 

IT轮子系列(四)——MVC文件上传

标签:foreach   name   round   cti   log   tor   value   地方   掌握   

原文地址:http://www.cnblogs.com/liangxiarong/p/7768459.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!