每个请求上传多张图片时出现问题

问题描述 投票:0回答:1

我有以下控制器的操作:

    [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
)我看到了所有文件。绑定有什么问题吗?

我可以这样解决:

但是看起来很糟糕。模型绑定必须在这里工作!为什么不行?

.net asp.net-core-webapi multipartform-data form-data
1个回答
0
投票

好吧,我找到了解决方案。我用错了

images
的名字。我必须使用
images
而不是
images[]
:

这有点奇怪,因为正如你所看到的,我有

categoryIds[]
它是一个数组,并且它按预期工作。

现在我明白了:

© www.soinside.com 2019 - 2024. All rights reserved.