【问题标题】:File Upload Endpoint on ASP.NET web api corrupts fileASP.NET Web api 上的文件上传端点损坏文件
【发布时间】: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


【解决方案1】:

Owin 处理程序对错误负责。 直到现在还没有解决方案。只是建议不要打扰它,只需为文件上传创建另一个服务。 祝你好运, 顺便说一句,仍在等待答案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-20
    • 1970-01-01
    • 2017-12-03
    • 2010-11-16
    • 2011-09-04
    • 2020-09-27
    • 1970-01-01
    相关资源
    最近更新 更多