问题 stream读取错误

我需要把用户上传的图片,加水印,然后保存到阿里云的oss。保存成功,但是保存的数据为空。唯一的异常 :ReadTimeout = “newPicStream.ReadTimeout”引发了类型“System.InvalidOperationException”的异常。

问题的原因是,stream ,前流中的位置。没有在开始。

 newPicStream.Seek(0, SeekOrigin.Begin); 需要把流的位置设置到开始。
--------------------------------------------------------------------------------------------------------------------------------------
 
网上的解决方案 地址:https://q.cnblogs.com/q/16755/;
 
try
{ MemoryStream WebStream1 = new MemoryStream();
bitmap.Save(WebStream1, System.Drawing.Imaging.ImageFormat.Jpeg);//这里执行保存时出错
byte[] buffur = new byte[WebStream1.Length]; WebStream1.Read(buffur, , Convert.ToInt32(WebStream1.Length)); FtpClint ftpUpDown = new FtpClint("*.*.11.*:3305", "*", "*"); ftpUpDown.Upload(buffur, newfileNames, "images/" + thumbnailPath);
//以jpg格式保存缩略图 }
catch (Exception err)
{
throw new Exception(err.Message);
}
finally
{
sourceImage.Dispose();
bitmap.Dispose();
g.Dispose();
}

“WebStream1.ReadTimeout”引发了“System.InvalidOperationException”类型的异常
这个怎么解决啊请高手帮忙

问题补充: //新建一个bmp图片 System.Drawing.Image bitmap = new Bitmap(towidth, toheight); //新建一个画板 Graphics g = Graphics.FromImage(bitmap); //设置高质量插补法 g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High; //设置高质量,低速度呈现平滑程序 g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; //清空画布并以透明背景色填充 g.Clear(Color.Transparent); //在指定位置并且按指定大小绘制原图片的制定部分 g.DrawImage(sourceImage, new Rectangle(0, 0, towidth, toheight), new Rectangle(x, y, ow, oh), GraphicsUnit.Pixel); 不是Fileupload 是Image.save
 

MemoryStream ms = new MemoryStream();
            Bitmap bitmap = new Bitmap("E:\\IMG_0415_1068.jpg");
            bitmap.Save(ms, ImageFormat.Jpeg);

byte[] buffur = new byte[ms.Length];
            ms.Seek(0, SeekOrigin.Begin); // 此处需要将流重置,不然下面的代码读取不到数据。
            ms.Read(buffur, 0, Convert.ToInt32(ms.Length));

bitmap.Dispose();
            ms.Dispose();

我测试该代码,没发现你说得问题,只是你写的代码中有个小BUG,我已经在上面注释了。

你发现的 “WebStream1.ReadTimeout”引发了“System.InvalidOperationException” 是因为有方法是用了 MemoryStream.ReadTimeout  字段,而MemoryStream的 ReadTimeout 字段继承至 Stream 类,而 Stream 类并未实现该方法,而是交由子类实现,而MemroyStream 也未实现该方法,因为内存流是没有Timeout的机制的,只有NetworkStream才需要实现该方法。

.net momeryStream 读取为空问题的更多相关文章

  1. 转-servlet 获取 post body 体用流读取为空的问题

    目前基于rest风格的很多API开始使用通过body data来传输来代替之前的key-value传输方式.在Java servlet或者springmvc中可以通过如下代码来获取并图片通过流方式传输 ...

  2. c# 读取excel 出现数字读取成“”空

    读取excel用到的方法: /// <summary> /// Excel导入数据源 /// </summary> /// <param name="sheet ...

  3. 常见问题--post发送参数使用httpservletrequest读取为空

    1)springcloud项目中使用request.getparameter读取参数为空 原因:使用restcontroller导致,之前为controller.而通过requestbody注解封装为 ...

  4. servlet 获取 post body 体用流读取为空的问题【转】

    引用自: http://www.zicheng.net/article/982028.htm 目前基于rest风格的很多API开始使用通过body data来传输来代替之前的key-value传输方式 ...

  5. 重定向管道流读取TXT文本第一次读取为""空字符串、type xxx.txt | go run . 报错、BOM头、[239,186,191] 字节数组

    重定向管道流读取TXT文本第一次读取为""空字符串.type xxx.txt | go run . 报错.BOM头.[239 186 191] 字节数组

  6. imageWithContentsOfFile读取全路径返回的image为空的解决方法

    下载图片缓存到本地沙盒里,发现用 imageWithContentsOfFile去读取的时候,40%左右的几率会读取为空. 查找资料和文档后找到解决方法 路径:当这次的时候是/var/mobile/C ...

  7. 读取excel出现空值

    表格里某列假如混杂了数字和字符就会有可能部分读取为空,连接Excel方法如下 string strConn = 'Provider=Microsoft.Jet.OLEDB.4.0;' 'Data So ...

  8. 别再用"while (!feof(file))"来逐行读取txt文件了!

    起因 执行一个C/C++程序出现segment fault.它逐行读取文本文件,每一行是一个图片名字,然后读图.处理图像,etc. 发现最后一次读取的文件名不存在(空的). 正确的逐行读取txt文件 ...

  9. python,<一>读取文件open()

    在实际操作中,我们经常会读取文件,这个时候python为我们提供了一个open()的方法,供我们读取文件,通过help(open),我们可以获取open的方法 f.close()关闭读取 f.read ...

随机推荐

  1. Java NIO Scatter / Gather

    原文链接:http://tutorials.jenkov.com/java-nio/scatter-gather.html Java NIO发布时内置了对scatter / gather的支持.sca ...

  2. 二十四、Hadoop学记笔记————Spark的架构

    master为主节点 一个集群中可能运行多个application,因此也可能会有多个driver DAG Scheduler就是讲RDD Graph拆分成一个个stage 一个Task对应一个Spa ...

  3. SSM-SpringMVC-23:SpringMVC中初探异常解析器

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 本篇博客要讲的是异常解析器,SimpleMappingExceptionResolver简单映射异常解析器 可 ...

  4. SSM-Spring-09:Spring中jdk动态代理

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- JDK动态代理: 为何叫JDK动态代理呢? 所谓JDK,jdk是java开发工具包,它里面包含了一个动态代理的 ...

  5. 20.QT-Qpixmap实现图片鼠标缩放,鼠标拖动示例(详解)

    通过 QPainter 绘画实现,以本地图片985*740为例 如下图所示: 效果如下所示: 实现原理 主要通过以下函数实现: , ); //平铺显示pixmap //x y w h :表示绘画区域 ...

  6. titanium环境配置

    ###### **工具:** > * [titanium studio](http://www.appcelerator.com/product/) > * [node.js](https ...

  7. js定时器让动画隔秒运动

    现有一个需求,宝箱隔几秒动一次,抓住用户眼球,自己写了个 doem.

  8. 搭建 vue2 单元测试环境(karma+mocha+webpack3)

    从网上找了很多例子关于单元测试,都是如何新建项目的时候的添加单元测试,用vue-cli中怎么添加,但是我的项目已经生成了,不能再一次重新初始化,这时如何添加单元测试,这里面遇到了好多坑,写在这里记录一 ...

  9. Mac下显示隐藏的文件

    显示隐藏文件defaults write com.apple.finder AppleShowAllFiles -bool true; KillAll Finder恢复隐藏文件 defaults wr ...

  10. bzoj4476 [Jsoi2015]送礼物

    化简式子 $M>=m+ans*(r-l+k)$ 发现$M,m$确定时,总区间长度越小越好,于是假定右端点为最小值$M+ans*l>=m+ans*r+ans*k$, 右面都确定了,但最大值仍 ...