面试的时候遇到一个问题,要求手写的方式上传文件。
本来觉得很简单,但是结果怎么也成功不了。
前台:
<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”
引自: