微信jssdk上传图片后,通过media_id获取图片文件,不能远程保存到七牛

目前的方法:
1、引入微信的jssdk,通过上传图片接口,先上传图片文件到微信服务器
http://qydev.weixin.qq.com/wiki/index.php?title=%E5%BE%AE%E4%BF%A1JS%E6%8E%A5%E5%8F%A3#.E4.B8.8A.E4.BC.A0.E5.9B.BE.E7.89.87.E6.8E.A5.E5.8F.A3

2、通过media_id获取图片文件
https://qyapi.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID

有个问题,微信已设置head头,在浏览器中输入上面网址,图片是下载模式,提示下载保存到本地。
HTTP/1.1 200 OK
Connection: close
Content-Type: image/jpeg
Content-disposition: attachment; filename="MEDIA_ID.jpg"
Date: Sun, 06 Jan 2013 10:20:18 GMT
Cache-Control: no-cache, must-revalidate
Content-Length: 339721

3、通过七牛的 Fetch 远程上传

function Qiniu_RS_Fetch($self, $url, $bucket, $key)
{
global $QINIU_IOVIP_HOST;
$path = '/fetch/' . Qiniu_Encode($url) . '/to/' . Qiniu_Encode("$bucket:$key");
return Qiniu_Client_CallNoRet($self, $QINIU_IOVIP_HOST . $path);
}

返回错误:malformed HTTP response

请问老大如何解决啊!!!!

阅读 11k
5 个回答

用微信给的接口查询后 返回头中看到了这个“Content-disposition: attachment” 这是跟一般图片的区别吧
怎么解决呢~

= = 用了一种比较傻逼的做法,用curl 先下载到本地,再上传,清除本地缓存

楼主,调用 RS_Fetch 的代码发出来看看

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