ruby-on-rails - ruby rails : How would I access this Carrierwave @original_filename params?

标签 ruby-on-rails ruby amazon-s3 carrierwave parameters

我目前正在使用 Carrierwave,并希望能够将原始文件名保存为我的模型文档的标题。我看到当我提交文档 uploader 表单时,文件名保存为@original_filename。

我将如何访问它?我尝试了 params[:document][:attachment][:original_filename] ,但“@”让我感到困惑。

此外,我想将文件名保存为硬标题的主要原因是,如果我使用 Document.attachment.file.filename,它有时会显示为“6sw=&Expires=1409522546”而不是文件名,可能是因为文件上传到 S3 时添加的随机扩展名

参数:

{"utf8"=>"✓", "authenticity_token"=>"f67R1N2JR0b4WDWeYfSzI8q3DKwK59y487TXhR4xYvo=", "文档"=>{"附件"=>#, @original_filename="1 文件.png", @content_type="图片/png", @headers="Content-Disposition: form-data; name=\"document[attachment]\"; filename=\"1 documents.png\"\r\nContent-Type: image/png\r\n">} , “提交”=>“上传文件”

最佳答案

params[:document][:attachment] 返回一个封装上传文件的对象。所以我认为这会起作用:

uploaded_file = params[:document][:attachment]
uploaded_file.original_filename # => returns the file name

关于ruby-on-rails - ruby rails : How would I access this Carrierwave @original_filename params?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25596671/

相关文章:

Java 返回一个值如果 null 简单的方法 - 就像在 ruby​​ nil ||值返回值

ruby - 使用ElasticSearch ruby​​ gem按名称获取索引

ruby-on-rails - 有没有一种干净的方法来避免在嵌套的参数哈希中调用 nil 上的方法?

ruby-on-rails - 我应该使用 Rails 来保持一致性吗? (对于 ETL 项目)

ruby-on-rails - Rails : How to create migration in subdirectory with Rails?

ruby-on-rails - 在 Rails 中深度模块化/命名空间是否正常?我公司的代码库深入 4 到 5 个命名空间,我想知道这是否正常

hadoop - Flume 使用 ec2 实例 IAM 凭证汇入 s3

javascript - Amazon S3 客户端加密 Javascript

javascript - 通过node js从本地同时上传多个文件到s3桶

ruby-on-rails - 如何在搜索/过滤器中保留输入值