huacnlee/carrierwave-aliyun — pull request #12 by sishen (2014-08-22 06:26:50+00:00)
Title: Base64 编码和 URL 编码

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

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