【问题标题】:Paperclip won't display/detect file size of anything that is not an image回形针不会显示/检测任何不是图像的文件大小
【发布时间】:2011-08-27 16:23:54
【问题描述】:

我正在开发一个允许用户上传视频、图片、音频剪辑和文档的应用程序。这些文件正在使用 Paperclip gem 上传并存储在 s3 上。

现在我正在对上传后的文件大小进行一些处理,但回形针继续将文件保存到数据库中,文件大小为'0',在任何不是.jpg, .gif, .png 的文件上。我自己尝试过检查文件大小、上传的长度以及其他一些脑筋急转弯的想法。

是否有猴子补丁,或劫持回形针的请求以找出文件大小?有没有人遇到过这个问题?

【问题讨论】:

    标签: ruby-on-rails ruby paperclip


    【解决方案1】:

    默认情况下,Paperclip 用于处理图像。如果您需要能够处理其他文件类型,则必须考虑编写自己的处理器:https://github.com/thoughtbot/paperclip/blob/master/lib/paperclip/processor.rb。这将允许您在模型中声明时以所需的任何方式处理文件:

    has_attached_file :scan, :styles => { :text => { :quality => :better } },
                      :processors => [:ocr]
    

    这是 README 文档中的重要一点:

    注意:因为处理器通过转动原始附件来运行 进入样式,如果没有样式,则不会运行任何处理器 已定义。

    这意味着您需要指定某种styles 才能让您的处理器或任何其他处理器运行。对于一个基本的定制处理器,像:styles => { :default => true } 这样简单的东西应该足以让你继续前进。

    【讨论】:

    • 谢谢@andrewle 这非常有帮助。那么我将不得不在我自己的处理器上工作。我真正需要的只是源文件的大小,但我想知道这需要做多少工作。我将首先按照您的建议添加样式,然后看看它会变成什么。再次感谢。
    猜你喜欢
    • 1970-01-01
    • 2014-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-15
    • 1970-01-01
    • 2015-01-20
    • 1970-01-01
    相关资源
    最近更新 更多