具体是
//首先读取文件流
Stream stream = file.InputStream;
//流转换成img
Image img = Bitmap.FromStream(stream);
stream.Close();
//生成二维码,返回MemoryStream
Stream qrstream = BuildQrCodeByCommonComponent(content, level, size, img);
//直接调用UpYunHelper.UploadImage(Stream stream)不行
byte[] postData = UpYunHelper.StreamToBytes(qrstream);
//这里调用API接口,进行了一些封装
return UpYunHelper.UploadImage2(postData);
之后这里就不行了,具体执行这里的时候报异常
var response = (HttpWebResponse)request.GetResponse();
可能的错误 qrstream,不是 MemoryStream,类型的,各位大侠帮我看看,在线等啊!
最终还是解决了,主要是因为存在这个异常
引发异常:ReadTimeout”引发了“System.InvalidOperationException”,导致使用又拍云接口失败,这是只需要再读取之前把读取的位置复位到0的位置就可以了,至于道理还是不清楚。
加下面这行代码就可以了
qrstream .Seek(0, SeekOrigin.Begin);
这个问题在处理图片这中问题的时候很常见。