Http响应返回的流不能作为响应查找。长度抛出“不支持”]]

问题描述 投票:0回答:1

我正在尝试从我从外部来源检索的文件中读取字节,但是在运行代码时出现以下错误:

System.NotSupportedException: Specified method is not supported.\r\n   at System.Net.Http.HttpBaseStream.get_Length()

我的问题代码如下:

var responseBody = (request.GetResponseAsync().Result).GetResponseStream();

        byte[] file;
        var br = new BinaryReader(responseBody);
        file = br.ReadBytes((int)br.BaseStream.Length);
        using (MemoryStream ms = new MemoryStream())
        {
            int read;
            while ((read = responseBody.Read(file, 0, file.Length)) > 0)
            {
                ms.Write(file, 0, read);
            }
        }

        var result = new MemoryStream(file);

在以下行上失败:

  file = br.ReadBytes((int)br.BaseStream.Length);

我似乎无法找到解决问题的方法,有人可以提出解决方案吗?

我正在尝试从我从外部源检索到的文件中读取字节,但是在运行代码时出现以下错误:System.NotSupportedException:指定的方法不是...

c# stream binary
1个回答
1
投票
您输入二进制阅读器的流是不可搜索的。您可以检查CanSeek属性以查看此内容。
© www.soinside.com 2019 - 2024. All rights reserved.