如何解决从邮递员上传文件时,IFormFile 为空值
我尝试通过邮递员将 IFormFile 上传到 Web 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"
not "file"
。您的参数名称必须与表单名称匹配(不区分大小写)。
你也可以这样做:
public void Post([FromForm] Product product,[FromForm] IFormFile image)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。