【问题标题】:Get files separately from different multiple file inputs从不同的多个文件输入中分别获取文件
【发布时间】:2014-06-11 10:45:11
【问题描述】:

假设我有一个 html 表单

<form id="frm" method="post" action="upload.cshtml" enctype="multipart/form-data">
    <input multiple type="file" name="file1" />
    <input multiple type="file" name="file2" />
    <input type="submit" />
</form>

from 有两个输入,每个输入都接受多个文件。提交此表单时,Request.Files["file1"] 只会给出 file1 输入中的第一个文件。为了访问其余文件,我必须循环迭代 Request.Files[] 。然而,后一种方法给出了两个输入的所有文件。如何分别获取文件,以便对不同的文件集执行不同的操作?

【问题讨论】:

    标签: c# .net razor file-upload file-io


    【解决方案1】:

    最简单的方法是为动作方法定义适当的参数:

    public ActionResult Upload(IEnumerable<HttpPostedFileBase> file1, 
        IEnumerable<HttpPostedFileBase> file2)
    {
        // process file1 and file2
    }
    

    file1 枚举将包含输入中名称为 file1 的所有文件,file2 包含来自 file2 的文件。

    【讨论】:

    • 真的。这正是我已经提到的。但是如何区分哪些文件属于 file1 哪些属于 file2?
    • 您能演示一下如何在 cshtml 文件中使用它吗?
    • 我从问题 1:1 中复制了您的 &lt;form.../&gt;,只是将操作更改为指向我的 Upload 操作。顺便说一句:您应该使用 @using (Html.BeginForm()) { ... } 助手而不是“手动输入的表单”。
    猜你喜欢
    • 1970-01-01
    • 2012-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 2014-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多