七牛的fetch接口能否抓取Content-disposition:attachment类型的图片

场景是这样的:使用微信的jssdk上传图片,想直接用七牛的fetch接口抓取微信的素材media_id,但是发现七牛抓取是成功的,但是返回的信息是:

{
    "fsize": 68,
    "hash": "FtZGLrfzpHbRLQ4hzxB-XwM91X_k",
    "key": "FtZGLrfzpHbRLQ4hzxB-XwM91X_k",
    "mimeType": "text/plain"
}

类型变成了text/plain,文件大小也不对,到七牛的内容管理里看到这个文件内容如下:

{
    "errcode": 41006,
    "errmsg": "media_id missing hint: [hfgnra0891ent1]"
}

查了一下微信的media_id,发现他有设置HEAD头,图片是下载模式的:

HTTP/1.1 200 OK
Connection: keep-alive
Content-Type: image/jpeg
Content-disposition: attachment; filename="blabla.jpg"
Date: Wed, 23 Sep 2015 14:59:11 GMT
Cache-Control: no-cache, must-revalidate
Content-Length: 47592

不知七牛这里有什么方法能解决这个问题,或者目前还有什么其他好方法?

阅读 5.1k
3 个回答

这个HEAD头看起来是没有什么影响,七牛这边fetch抓取都是,根据源站的url反馈的信息而定。那个微信素材的链接发一下吧,我看看我抓取的是怎么样的,看一下是不是微信那边响应得有问题。

搞定了,发现问题了,原来是微信获取media的地址太长了,超出了get请求参数的长度限制,用post就正常了

新手上路,请多包涵

楼主可不可以帖下具体实现,方便新手学习下..

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