huacnlee / carrierwave-aliyun

阿里云 OSS Ruby 上传组件,基于 Carrierwave
https://huacnlee.com/carrierwave-aliyun/
197 stars 93 forks source link

Base64 编码和 URL 编码 #12

Closed sishen closed 10 years ago

sishen commented 10 years ago

当文件名中包含了 "+",在 OSS 中上传会遇到签名不对应的问题。这是因为 base64 编码中使用了加号(+),而 + 在 URL 传递时会被当成空格,因此必须要将 base64 编码后的字符串中的加号替换成 %2B 才能当作 URL 参数进行传递,否则在服务器端解码后就会出错。

http://readwall.blog.163.com/blog/static/1012713220123245224679