我有以下控制器的操作:
[HttpPost("api/v1/addProduct")]
[Consumes("multipart/form-data")]
public Task<ProductDto?> AddProduct([FromForm] ProductRequest request, CancellationToken cancellationToken)
{
return _productService.AddProduct(request, cancellationToken);
}
以及以下型号:
public class ProductRequest
{
[Required]
public string Title { get; set; }
public string? Description { get; set; }
[Required]
public string PreviewDescription { get; set; }
[Required]
public IFormFile PreviewImage { get; set; }
public IFormFile[]? Images { get; set; }
[Required]
public int[] CategoryIds { get; set; }
public bool? IsAvailable { get; set; }
}
我成功发送数据到服务器(我使用formData):
但由于某种原因,我在调试器中看到以下内容:
previewImage
一切都好,但是images
在哪里?为什么有previewImage
,却没有images
?我以与发送previewImage
完全相同的方式发送了它们。我们可以在请求负载屏幕上看到它。请帮我弄清楚。
更新
我试过了
IFormFileCollection
:
没有结果。
但是:
正如我们在这里看到的(使用
HttpContext.Request.Form.Files
)我看到了所有文件。绑定有什么问题吗?
我可以这样解决:
但是看起来很糟糕。模型绑定必须在这里工作!为什么不行?