我有一个 Rails 项目,我使用 Carrierwave 将文件上传到 Amazon s3。
当我上传包含空格的文件时,我的编辑操作出现bad URI(is not URI?)
错误,例如File Name.mp3
. 在上传到 s3 之前,如何将文件名中的空格转换为下划线?
是否有我在文档中找不到的配置选项,或者我是否需要创建一个方法来执行此操作?
更新:
这是我的上传者/track_uploader.rb:https://gist.github.com/leemcalilly/5025757
这是我将文件附加到的模型:https ://gist.github.com/leemcalilly/5025731
这是我的控制器:https ://gist.github.com/leemcalilly/5025765
请注意,当我"#{original_filename}".underscore
在上传器中使用文件时,文件上传正常,但它不会转换文件名,它只是将原始文件名与空格一起保留,如下所示:https ://www.evernote.com/shard/s3/sh/ c5a08968-6f6d-4de8-a768-830a378572bc/10ee719307f3c587b531a37868127209
如果我使用"#{filename}".underscore
我会得到一个stack level too deep
错误。