调用 api 时报错 {"远程服务器返回错误: (403) 已禁止"}

具体是

//首先读取文件流
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,类型的,各位大侠帮我看看,在线等啊!

阅读 5.5k
1 个回答
✓ 已被采纳新手上路,请多包涵

最终还是解决了,主要是因为存在这个异常
引发异常:ReadTimeout”引发了“System.InvalidOperationException”,导致使用又拍云接口失败,这是只需要再读取之前把读取的位置复位到0的位置就可以了,至于道理还是不清楚。

加下面这行代码就可以了
qrstream .Seek(0, SeekOrigin.Begin);
这个问题在处理图片这中问题的时候很常见。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
logo
又拍云问答
子站问答
访问
宣传栏