【发布时间】:2019-10-10 01:34:08
【问题描述】:
我正在使用 .Net Framework 4.7 ASP.NET Web Api
将文件上传到端点后,我注意到文件已损坏。
[HttpPost]
public async Task UploadFile([FromODataUri] string key)
{
if (!Request.Content.IsMimeMultipartContent())
{
throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
}
var provider = await Request.Content.ReadAsMultipartAsync(new MultipartMemoryStreamProvider());
var file = provider.Contents.Single();
//get a corrupted file + size of file has increased significantly
var fileBytes = await file.ReadAsByteArrayAsync();
}
*我也尝试使用 ReadAsStreamAsync,然后读取所有字节,但看起来数据仍在更改...
我做错了什么? 谢谢, 阿迪。
【问题讨论】:
-
此代码 sn-p 中没有任何内容。 ReadAsByteArrayAsync 之后发生的任何问题都会发生。您可以在最后一行之后立即调用 File.WriteAllBytes("c:\\Somefile.Whatevs", fileBytes); 进行验证。并检查文件。
-
没有“.NET Framework 7”之类的东西。
标签: c# asp.net .net api file-upload