面试的时候遇到一个问题,要求手写的方式上传文件。
本来觉得很简单,但是结果怎么也成功不了。
前台:
<form ID="form1" action="AcceptFiles" method="post"> <input type="file" name="filename" /> <input type="submit" value="Sub"> </form>
后台:
[HttpPost] public ActionResult AcceptFiles(string id) { var files = Request.Files; return View(); }
Request.Files 总是0,搞了半天,没用,只好放弃。回家查了下,原来form上缺少一个属性,以前要么是用FileUpload控件,要么是用第三方的上传控件,连原始的html都忘了。
要让form能够传递文件的话,必须要在form标签中加入enctype=”multipart/form-data”
引自: