【问题标题】:Ruby on Rails: How would I access this Carrierwave @original_filename params?Ruby on Rails:如何访问这个 Carrierwave @original_filename 参数?
【发布时间】:2014-10-25 03:23:50
【问题描述】:

我目前正在使用 Carrierwave,并且希望能够将原始文件名保存为我的模型文档的标题。我看到当我提交文档上传表单时,文件名保存为@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">} , "commit"=>"上传文件"}

【问题讨论】:

    标签: ruby-on-rails ruby amazon-s3 carrierwave params


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-09
      • 2014-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多