[HttpPost("ImportPeople")]public async Task<IActionResult> ImportPeople([FromForm] string facesetid, [FromForm] string name, [FromForm] string content, [FromForm] IFormFile file)
{}
这是我的服务端代码,用的asp.net core var stream = File.Open(i.Info.path + "/photo.jpg", FileMode.Open, FileAccess.Read);
var boundary = string.Format("----------------------------{0}", DateTime.Now.Ticks.ToString("x"));
MultipartFormDataContent c = new MultipartFormDataContent(boundary);
c.Add(new StringContent(facesetid), "facesetid");
c.Add(new StringContent(name), "name");
c.Add(new StringContent(content), "content");
c.Add(new StreamContent(stream ,(int)stream .Length), "file");
var resp = await new HttpClient().PostAsync(Host+ "/api/Peoplesets/ImportPeople",c);
这是我上传文件的方法代码。
现在的问题是每次上传服务器端其他参数都能接收到,但是就是file每次都是null。也没有抛出什么异常。
注意这个是文件列表
c.Add(new StreamContent(stream ,(int)stream .Length), "file","photo.jpg");
试一下
IFormCollection 还是null,我只有在request里取了
foreach (var filesFile in files.Files)
{
var fileName = filesFile.FileName;//文件名
var fileExt = Path.GetExtension(fileName);//后缀
var ms = filesFile.OpenReadStream();//打开文件流
var msBuffer = ms.ToArray();//文件转为字节数组
ms.Dispose();
}