MemoryStream ReadTimeout”引发了“System.InvalidOperationException”

Image img = new Image();
                BitmapImage bi = new BitmapImage();
                bi.BeginInit();
                bi.StreamSource = imgInfo.ImgStream;
                bi.EndInit();

                img.Source = bi;

wpf多少用同一个MemoryStream初始化BitmapImage 时,引发异常:ReadTimeout”引发了“System.InvalidOperationException” 

只需将MemoryStream重新从头开始读取即可,是频繁读取流,而当前位置没有复位而已。


如下即可:

BitmapImage bi = new BitmapImage();
                bi.BeginInit();
                // 从头开始读取,否则重复使用,后面读取错误。
                imgInfo.ImgStream.Seek(0, SeekOrigin.Begin);

                bi.StreamSource = imgInfo.ImgStream;
                bi.EndInit();
                img.Source = bi;

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java OkHttpUtils库是一个用于发送HTTP请求的开源库,它简化了与HTTP服务器通信的过程。在OkHttpUtils库中,可以使用Post方法来传输文件流System.IO.MemoryStream。 使用Java OkHttpUtils的Post方法传输文件流System.IO.MemoryStream的步骤如下: 1. 首先,需要在项目中引入OkHttpUtils库。可以通过向项目的pom.xml文件中添加相应的依赖来实现。例如: ```xml <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>版本号</version> </dependency> ``` 2. 接下来,需要创建一个OkHttpClient对象,用于发送HTTP请求。可以使用以下代码创建: ```java OkHttpClient client = new OkHttpClient(); ``` 3. 然后,创建一个RequestBody对象,并将文件流封装到其中。在这个步骤中,可以使用System.IO.MemoryStream来创建文件流。例如: ```java MemoryStream fileStream = new MemoryStream(); // 创建文件流对象 // 将文件写入文件流 // ... RequestBody requestBody = RequestBody.create(MediaType.parse("application/octet-stream"), fileStream.toByteArray()); ``` 4. 接下来,创建一个Request对象,并将RequestBody对象传递给post方法。例如: ```java Request request = new Request.Builder() .url("服务器URL") .post(requestBody) .build(); ``` 5. 最后,使用OkHttpClient对象发送请求,并获取服务器响应。例如: ```java Response response = client.newCall(request).execute(); String responseData = response.body().string(); ``` 通过以上步骤,就可以使用Java OkHttpUtils的Post方法传输文件流System.IO.MemoryStream。在实际应用中,请根据具体的需求进行相应的修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值