从邮递员上传文件时 IFormFile 为空值

IFormFile is null value when uploading file from postman

我尝试测试通过邮递员将 IFormFile 上传到网络 API,错误显示 IFormFile 是空值

  [HttpPost]
  
        public void Post([FromForm] Product product,IFormFile file)
        {
            var imagePath = Path.Combine(_hostEnvironment.WebRootPath, "images", file.FileName);
            var streamImage = new FileStream(imagePath, FileMode.Create);
            file.CopyTo(streamImage);
            var prod = new Product
            {
               Name = product.Name,
                Description=product.Description,
                Price=product.Price,
                BasePrice=product.BasePrice,
                Image=imagePath,
                CategoryId = product.CategoryId,
            };
            _repository.AddProduct(prod);
        }

邮递员请求

响应显示我的 IFromFile 是一个空值,但我无法找出我遗漏的地方。 你能帮助我吗?谢谢。

这一行:

public void Post([FromForm] Product product, IFormFile file)

需要改成这样:

public void Post(
    [FromForm] Product product, [FromForm(Name = "Image")] IFormFile file)

您的邮递员将表单的文件 属性 名称显示为 "Image" 而不是 "file"。您的参数名称 必须 匹配表单名称(不区分大小写)。

您也可以这样做:

public void Post([FromForm] Product product, [FromForm] IFormFile image)