Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 如何在MVC3中提交文件列表(待上传)_Asp.net Mvc 3_Razor - Fatal编程技术网

Asp.net mvc 3 如何在MVC3中提交文件列表(待上传)

Asp.net mvc 3 如何在MVC3中提交文件列表(待上传),asp.net-mvc-3,razor,Asp.net Mvc 3,Razor,我正在一个网站的评论部分工作。在这里,对于一个特定的注释,用户可以附加几个文件,当表单提交时(我使用的是@Html.BeginForm),应该提交HttpPostedFileBase列表,然后在方法内部完成上传。我有点迷失在这个场景中。正确的做法应该是什么 附:这些文件很小 谢谢大家! 下面是一个例子 public string Upload(image image, HttpPostedFileBase filedata) { var fileNa

我正在一个网站的评论部分工作。在这里,对于一个特定的注释,用户可以附加几个文件,当表单提交时(我使用的是
@Html.BeginForm
),应该提交
HttpPostedFileBase
列表,然后在方法内部完成上传。我有点迷失在这个场景中。正确的做法应该是什么

附:这些文件很小

谢谢大家!

下面是一个例子

public string Upload(image image, HttpPostedFileBase filedata)
        {

              var fileName = Path.GetFileName(filedata.FileName);
              var path = Path.Combine(Server.MapPath("~/uploads/"), fileName);
              var extension = Path.GetExtension(path);
              filedata.SaveAs(path);

              if (ModelState.IsValid)
              {

                      image.image_name = fileName;
                      image.image_description = extension;


                      db.image.AddObject(image);
                      db.SaveChanges();
                  }



              }
            return "ok";
        }

就这么简单,如果要上传的文件不止一个。例如,如果有两个输入,其中类型是可以传递的“文件”

@using (Html.BeginForm("Method", "Controller", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
   <input type='file' name='filename' id='fileid' />
   <input type='file' name='filename' id='fileid' />

}
@使用(Html.BeginForm(“方法”,“控制器”,FormMethod.Post,新的{enctype=“multipart/formdata”}))
{
}
在post方法中,这很容易咳嗽

public ActionResult Upload(IEnumerable<HttpPostedFileBase> filename)
{
    //uploading to the server is done here.
}
公共操作结果上传(IEnumerable文件名) { //上传到服务器是在这里完成的。 }
我的问题不在于实用程序,而在于传递
HttpPostedFileBase
的列表。到目前为止,我发现,我们可以得到
HttpPostedFileBase
IEnumerable
列表。我当前的问题是收集视图中的
HttpPostedFileBase
列表。