ASP.NET Web API上的文件上传端点损坏文件

4

我正在使用 .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并读取所有字节,但似乎数据仍然发生了改变...

我做错了什么吗? 谢谢, Adi。


1
这段代码没有问题。无论出了什么问题,都是在你调用ReadAsByteArrayAsync之后发生的。你可以通过在最后一行之后立即调用File.WriteAllBytes("c:\Somefile.Whatevs", fileBytes);并检查文件来验证。 - user1228
1
没有".NET Framework 7"这个东西。 - mason
1个回答

0

Owin处理程序负责处理错误。 目前还没有解决方案。建议不要过多关注它,只需创建另一个服务来上传文件。 祝好运, 顺便说一下,仍在等待答复。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接