七牛云存储的上传凭证生成最后一步是将AccessKey、encodedSign和encodedPutPolicy用:连接起来:
uploadToken = AccessKey + ':' + encodedSign + ':' + encodedPutPolicy
但是在做这一步的时候发现encodedSign
中的+
号会变成-
号,导致上传时报bad token。
具体见图,以下图片来自工具:http://jsfiddle.net/gh/get/extjs/4.2/icattlecoder/jsfiddle/tree/master/uptoken:
七牛的文档中有提示,采用的是安全的base64编码
文档:http://developer.qiniu.com/docs/v6/api/overview/appendix.html
URL 安全的 Base64 编码适用于以 URL 方式传递 Base64 编码结果的场景。该编码方式的基本过程是先将内容以 Base64 格式编码为字符串,然后检查该结果字符串,将字符串中的加号+换成中划线-,并且将斜杠/换成下划线_,同时尾部保持填充等号=