问题是,我有一个从 Urls 连接 pdf 的 API,它在 .NET 5 中工作,但是当开始迁移到 .NET 6 时,使用 IEnumerable<> 、 IFormFile 和 IFormFileCollection ,只接受请求 application/json .
这是 .NET 5 (Working) 中的端点
[HttpPost]
public async Task<IActionResult> ConcatenarPdfsByUrl([FromForm] IEnumerable<string> urls)
{
var output = await TransformaPdfCore.PdfConcatenation(urls);
return File(output, "application/octet-stream");
}
Minimal .net6 中的端点也是如此
app.MapPost("/ConcatenaPdfsByUrl", async Task<IResult> (IEnumerable<string> urls, TransformaPdfCore transforma) =>
{
{
var output = await transforma.PdfConcatenation(urls);
return Results.File(output, "application/octet-stream");
}
}).Accepts<IEnumerable<string>>("multipart/form-data");
但结果是这样的:Imagem 2 (.net 6)
问题是,为什么 IEnumerable 没有相同的行为?如果有任何解决方案,例如使用 IOperationFilter,以便我可以使其工作。
IFormFileCollection 接口有同样的问题