Android版微信中访问OSS出现报错

Android版微信中访问OSS出现报错

更新时间:2018-10-12 07:55:11

问题描述

将JS文件上传到OSS,只在Android版微信端和QQ浏览器中报错。

问题原因

微信或者QQ加了Content-Type:application/octet-stream这个头信息。

解决方案

  1. 首先笔记本打开WIFI,手机连接WIFI做上传测试。
  2. 在电脑上用Wireshark抓包工具进行抓包,抓包后发现是签名无法匹配的错误,具体分析发现多加了一个Content-Type:application/octet-stream信息。这个头SDK在计算签名时并没有加上,但是发送请求时微信或者QQ浏览器会加个这个头信息导致这个错误。这个头计算签名也是要计算在内的。
  3. 经测试,去除这个头后再模拟上传没有问题。因此问题定位是微信或者QQ加了Content-Type:application/octet-stream这个头信息。
  4. 需要微信端去除这个头信息。

适用于

  • 对象存储OSS