【问题标题】:Send multiple files using ASP.net core web api使用 ASP.net 核心 web api 发送多个文件
【发布时间】:2017-01-17 20:27:28
【问题描述】:

我需要将多个文件发送到 ASP.net core webApi 方法。我试过如下所示。但它总是显示为0 files。你能告诉我为什么吗?

[Route("api/[controller]/[action]")]
[Consumes("application/json", "application/json-patch+json", "multipart/form-data")]
public class DocumentUploadController : CpcpControllerBase
{
    [HttpPost]
    public async Task<List<string>> AddDocument(ICollection<IFormFile> files)
    {
        foreach (var f in files)
        {
            var stream = f.OpenReadStream();
            var name = f.FileName;
        }
    }
}

邮递员:

但我可以发送 1 个文件,如下所示。它工作正常。

[HttpPost]
public async Task<string> AddDocument(IFormFile file)
{
        var stream = file.OpenReadStream();
        var name = file.FileName;           
}

【问题讨论】:

  • 没有区别。同样的结果。这也显示为0 files。 @设置

标签: c# asp.net asp.net-core asp.net-core-mvc


【解决方案1】:

在邮递员中将密钥 file1 替换为 files。它对我有用。

【讨论】:

  • 是的,就是这样。非常感谢:)
  • 嗯。我只能让它与IFormFile 的参数类型一起工作。如果我切换到ICollection&lt;IFormFile&gt;(或列表或数组),然后我开始收到“输入无效”。从 ASP.NET Core 服务返回。
  • @bugged87 我遇到了和你一样的问题……你解决了吗?
  • @User7291 查看我发布的答案。
【解决方案2】:

根据docs,使用IFormFileCollection 而不是ICollection&lt;IFormFile&gt;

【讨论】:

    猜你喜欢
    • 2022-11-04
    • 1970-01-01
    • 2017-01-30
    • 1970-01-01
    • 2021-05-25
    • 1970-01-01
    • 2020-01-24
    • 2021-12-08
    • 1970-01-01
    相关资源
    最近更新 更多