如何将文件发送到列表 - .net core web api - postman

Rox*_*Pro 2 c# multipartform-data asp.net-web-api asp.net-core iformfile

我正在尝试将 afile从 a发送postman到 a web api,方法web api需要一个包含文档类型、文件和文件夹名称的类型列表。发布如下:

网页api方法:

[HttpPost("post-images")]
public async Task<IList<RepositoryItem>> PostAnImages (IList<PostRepoRequest> request)
{
    // rest of the code 
}
Run Code Online (Sandbox Code Playgroud)

PostRepoRequest 类:

public class PostRepoRequest
{
    public FileType FileType { get; set; }
    public IFormFile File { get; set; }
    public string Folder { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

因为可以注意到我从未收到过文件,它总是 null,我也尝试过将标头内容类型设置为multipart/form-data,但效果不佳。

这里可能有什么技巧?

谢谢

干杯

Sul*_*Sah 5

您需要使用点模式更改请求正文,如下所示:

在此输入图像描述

然后您需要将 [FromForm] 属性添加到控制器输入参数中。另请注意,邮递员和控制器中的变量名称必须匹配。

[HttpPost("post-images")]
public async Task<IList<RepositoryItem>> PostAnImages ([FromForm]IList<PostRepoRequest> repositoryItems)
Run Code Online (Sandbox Code Playgroud)

通过这些更改,您将能够正确获取请求:

在此输入图像描述