【发布时间】:2021-12-21 10:16:19
【问题描述】:
我有一个 Web API 方法,它接受一个小类结构中的 IFormFile 变量列表,以将文件上传到存储帐户。
public class FileInputModel
{
public int ScenarioId { get; set; }
public IList<IFormFile> UploadFiles { get; set; }
}
[HttpPost("UploadFiles")]
public async Task<IActionResult> UploadForm([FromForm] FileInputModel files)
{
//UploadLogic
}
这对于使用 Postman 的 https 帖子非常有效,但我似乎不太明白如何使用我正在编写的 C# 程序执行此操作以直接链接到此 api。到目前为止,我有一些代码可以将 FileStreamResult 变量转换为 IformFile,然后发送一个 post 请求,但我不知道如何从我的电脑上的文件中获取 FileStreamResult。这是我目前的方法。
var json = JsonSerializer.Serialize(FileInputModel);
StringContent data = new StringContent(json, Encoding.UTF8, "application/json");
try
{
using HttpClient client = new HttpClient();
HttpResponseMessage response = await client.PostAsync(url, data);
return response;
}
【问题讨论】:
-
移除 [FromForm] 绑定
-
我的问题不在于接收端,而在于如何以任何正确的形式发送数据,以便 [FromForm] 不会改变任何内容,因为该功能可以正常工作
-
啊,所以根据您使用哪个前端框架进行调用,请确保添加标题
Content-type: multipart/form-data;
标签: c# asp.net-mvc asp.net-web-api