【问题标题】:File binding in WebApi controller not workingWebApi 控制器中的文件绑定不起作用
【发布时间】:2017-06-16 21:23:09
【问题描述】:

我正在尝试将文件从 Angular 上传到 .NET Core WebAPI,但我的代码似乎有问题:

    [HttpPost("UploadImage")]
    public IActionResult UploadImage([FromForm]ICollection<IFormFile> formFiles)
    {
        var picture = new Picture();
        var files = Request.Form.Files;
        ...
    }

参数 formFiles 不为空,但不包含任何文件(计数 = 0),但在 Request.Form.Files 中,文件在这里,我可以使用 OpenReadStream() 获取数据 如果我省略了FromForm 属性,我有同样的结果,如果我重命名参数formFiles,同样的结果。

如何进行自动绑定而不是访问 Request 属性?

【问题讨论】:

    标签: c# angularjs asp.net-web-api .net-core


    【解决方案1】:

    最近做了同样的事情,我的经历是一样的。

    访问文件的唯一方法是通过Request.Form.Files 属性,该方法的任何参数都不起作用。请注意,您可以为您的单元测试模拟 Request 属性,因此它并不像看起来那么糟糕。

    更新:从 .NET Core 2.0 开始,这似乎又可以正常工作了

    【讨论】:

    • 我遇到了类似的问题,但似乎找不到在哪里可以找到Request.Form.Files.. 请参阅我的post
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-06
    • 2017-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多