【问题标题】:HttContent.ReadAsByteArray().Result different than original dataHttContent.ReadAsByteArray().Result 与原始数据不同
【发布时间】:2017-09-18 10:16:14
【问题描述】:

来自 ReadAsByteArrayAsync().Result 的对象创建的文件与上传的文件不同。

代码如下:

    public static HttpResponseMessage UploadVideo(HttpRequestMessage Request) {    
        byte[] data = Request.Content.ReadAsByteArrayAsync().Result;
        BinaryWriter writer = new BinaryWriter(File.Open(@"D:/dev/test_file.mp4"));
        BinaryWriter writer = new BinaryWriter(File.Open(name, FileMode.OpenOrCreate));
            writer.Write(data);
            writer.Flush();
            writer.Close();
        return new HttpResponseMessage(HttpStatusCode.Accepted);
    }

这是原始视频文件的文本视图。

这是从 ReadAsByteArrayAsync().Result 上传的文件

似乎所有原始数据都在那里,只是它带有一些额外的字符串。谁能解释为什么会发生这种情况以及如何获取原始文件?

谢谢

【问题讨论】:

  • 一个是内容一个是整个响应。
  • 如果 Content.ReadAsByteArray().Result 返回整个请求,我如何访问内容?

标签: c# arrays serialization asp.net-web-api2


【解决方案1】:

这里的问题是您尝试比较传入的请求和原始文件。此时您的上传请求是一个多部分表单。检查这个:https://stackoverflow.com/a/15680783/5902888

【讨论】:

    猜你喜欢
    • 2019-09-07
    • 1970-01-01
    • 1970-01-01
    • 2020-02-14
    • 1970-01-01
    • 2013-05-18
    • 2021-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多