MVC如何使用一个提交按钮提交多个文件,并在Controller中检索输入文件名

时间:2018-01-09 03:29:52

标签: asp.net-mvc

我希望我的头衔是可以理解的。我会尽量保持清醒。所以这就是我打算做的事情。我有一个客户信息页面,他们可以上传他们的文件,在页面中,有两个输入文件,他们可以上传他们的文件,然后他们点击提交的那一刻,我想用路径字符串填充Photo和PassportNo变量所以我可以稍后检索该文件。

我目前正在努力的是,我设法将文件上传到系统,但我有点坚持将filePath更新为Photo和PassportNo属性。我可以更新其中一个,但我不知道如何检索两个输入文件。我的意思是,当表格提交时,我不知道如何检索哪种类型的输入类型来自表格(照片或护照号码)。

我想从输入到控制器中检索“名称”,因此在控制器中我可以执行类似“如果它来自”名称“,然后执行某些更新”。希望我足够清楚,如果有其他建议,请随时提出建议。

谢谢!

客户模式

public int Id { get; set; }
public string Name { get; set; }
public string Photo { get; set; }
public string PassportNo { get; set; }

查看

@using (Html.BeginForm("UploadFiles", "Customer", FormMethod.Post, new {enctype= "multipart/form-data"}))
{
<input type="file" name="Photo" />
<input type="file" name="PassportNo" />
<input type="submit" name="submit" value="Upload Files" />

}

控制器

    [HttpPost]
    public ActionResult UploadFiles(HttpPostedFileBase Photo)
    {
      if (Photo.ContentLength > 0)
            {
                var filename = Path.GetFileName(Photo.FileName);
                var path = Path.Combine(Server.MapPath("~/Files/"), filename);
                Photo.SaveAs(path);
            }
            return RedirectToAction("FileForm");
    }

1 个答案:

答案 0 :(得分:0)

只需在动作中添加第二个参数

public ActionResult UploadFiles(HttpPostedFileBase Photo, HttpPostedFileBase PassportNo