C#文件流Stream转数组Byte[]失败的解决方案


遇到问题

在对接华为OBS的过程中,下载文件后,直接使用常规的方法把文件流转换为byte[]会抛出异常,

Stream stream = response.OutputStream;
byte[] bytes = new byte[stream.Length];
stream.Read(bytes, 0, bytes.Length)
return bytes

在获得文件流 stream.Length的时候就抛出了异常

 异常信息

System.NotSupportedException: "Specifiled method is not supported."

解决办法

由于文件流不能直接读取,需要使用另一种办法

Stream stream = response.OutputStream;
MemoryStream stmMemory = new MemoryStream();
byte[] buffer = new byte[6 * 1024];
int i;
while ((i = stream.Read(buffer, 0, buffer.Length) > 0)
{
    stmMemory.Write(buffer, 0, i);
}
byte[] arraryByte = stmMemory.ToArrary();
return arraryByte;

采用这种方案就能正确的转换stream为byte[]了

 

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
张国生
上一篇:C#读取被进程占用的文件,只读模式打开文件
下一篇:vue打包js文件添加hash
评论列表

发表评论

评论内容
昵称:
关联文章

C#文件Stream数组Byte[]失败解决方案
C#根据文件判断文件类型
C#代码:byte[] 十六进制字符串
C# 十六进制字符串byte[],Byte[] String
RestSharp上传文件AddFile无效解决方案
Python读取文件 发生异常: UnicodeDecodeError 'gbk' codec can't decode byte
C#汉字拼音
C# 中将byte转换为int和int转换为byte
windows平台分布式微服务解决方案(5)--Web服务/WebApi负载均衡
windows平台分布式微服务解决方案(2)--跨域访问
win10开始菜单图标显示不正常,解决方案
服务安装失败:未能加载文件或程序集
widnows家庭版没有组策略解决方案
C#进化——C#发展史、C#1.0-10.0语法系统性梳理、C#与JAVA对比
VSCode无法格式化python代码py文件解决办法
VS2019找不到资产文件 "xxxx\obj\project.assets.json" 解决方案
c# 将数组或集合 转换成以逗号分隔字符串
服务器安全:限制外网访问解决方案
C# 读取txt文件生成Word文档
windows平台分布式微服务解决方案(7)--IDataAccess工具介绍(数据访问)

联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码