基于.net core2.2的webapi程序,接收客户端上传的文件.按照以下写法,file的值永远是null

[HttpPost]
public void Post([FromForm] IFormFile file)
{

}

有两种方法解决这个问题:

1.属性绑定.在[FromForm]里添加Name属性如:[FromForm(name = “file”)],客户端调用时需要保持一致

[HttpPost]
public void Post([FromForm(Name = "file")] IFormFile file)
{
}

2.通过Request.Form.Files获取文件,客户端可以任意指定name

 [HttpPost]
        public void Post()
        {
            IFormFile formFile= Request.Form.Files[0];
            var filePath = @"D:\UploadingFiles\" + formFile.FileName;

            if (formFile.Length > 0)
            {
                using (var stream = new FileStream(filePath, FileMode.Create))
                {
                    formFile.CopyTo(stream);
                }
            }
        }

 

版权声明:本文为shaojian原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/shaojian/p/11251448.html