-
Notifications
You must be signed in to change notification settings - Fork 93
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
含中文的文件名会上传失败 #39
Comments
还是需要增加 |
可以考虑支持在 class AttachmentUploader < CarrierWave::Uploader::Base
def content_disposition
"attachment;filename=#{original_filename}"
end
end 然后上传的时候读取 或者更通用一点,加一个可以自定义上传 |
经测试没问题! |
SDK 建议更新到 > 0.1.8,刚刚修复了一个特殊字符计算签名的 bug
|
没有限制的,新安装的时候应该会用 SDK 的最新版本 |
@numbcoder sdk最新的就是0.1.8,没有更新的版本呀 |
看说明文档有讲这个事情的处理方式
lehug <notifications@github.com>于2018年4月11日 周三上午8:53写道:
… @numbcoder <https://github.com/numbcoder> @huacnlee
<https://github.com/huacnlee> 现在我的gemfile显示的sdk也是0.1.8.如上所述,如果我上传的文件是
中文.pdf,那么实际上传上去的文件名变成了 %E4%B8%AD%E6%96
<https://maps.google.com/?q=E6%2596&entry=gmail&source=g>%87.pdf
。接着访问时就无法访问了
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#39 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAAVjjkdMB5KSbNzyq5ZFItX64QBtMzwks5tnVQRgaJpZM4JfwF4>
.
|
@huacnlee 对不起,举例有些不恰当,实际上我处理的是图片类文件,不是pdf文件。看到了关于 我现在有变相的解决这个问题:
感觉如上的处理方式不够优雅直接,有更好的处理方式吗? |
因为
carrierwave-aliyun
不支持设置Content-Disposition
的,但是又想在下载的时候直接使用原文件名。Carrierwave 默认 会过滤掉非拉丁字符的,按照官方的文档说法是,加上这一句,可以关闭过滤
关闭过滤之后,文件名没问题,但是上传会失败,错误信息是:
我调试了一下发现,是
URI.encode(path)
导致的,如果不encode
的话就没问题The text was updated successfully, but these errors were encountered: