Ruby on rails Rails回形针是否仅用于图像?
是否有用于管理与ActiveRecord连接的文件附件的rails库 我知道回形针,但它似乎主要适用于图像。他们确实在网上提到了音频和pdf文件,但没有进一步解释不同文件类型的用法。如果上传音频文件,像Ruby on rails Rails回形针是否仅用于图像?,ruby-on-rails,paperclip,rails-activerecord,attachment,Ruby On Rails,Paperclip,Rails Activerecord,Attachment,是否有用于管理与ActiveRecord连接的文件附件的rails库 我知道回形针,但它似乎主要适用于图像。他们确实在网上提到了音频和pdf文件,但没有进一步解释不同文件类型的用法。如果上传音频文件,像:style这样的属性将改变其含义。因此,不同的文件大小不会以二维分辨率表示,而是以比特率表示 有没有回形针的替代品?或者,是否可以将imagemagick与曲别针链接,例如ffmpeg?没有理由不能将曲别针用于其他类型的文件,但如果您需要其他文件,则不会出错。上述问题包含多个方面。所以我会试着一
:style
这样的属性将改变其含义。因此,不同的文件大小不会以二维分辨率表示,而是以比特率表示
有没有回形针的替代品?或者,是否可以将imagemagick与曲别针链接,例如ffmpeg?没有理由不能将曲别针用于其他类型的文件,但如果您需要其他文件,则不会出错。上述问题包含多个方面。所以我会试着一一回答 回形针:处理器 可以将回形针用于图像以外的其他文件。您可以通过定义自定义导入操作。下面的代码显示了自定义处理器实现的最小结构。这可以通过自定义
选项
适应任何文件类型
module Paperclip
class FileContents < Processor
def initialize file, options = {}, attachment = nil
@file = file
@options = options
@instance = attachment.instance
@current_format = File.extname(attachment.instance.asset_file_name)
@basename = File.basename(@file.path, @current_format)
@whiny = options[:whiny].nil? ? true : options[:whiny]
end
def make
begin
# your import code (e.g. ocr or video resizing)...
@file
rescue StandardError => e
raise PaperclipError, "There was an error processing the file contents for #{@basename} - #{e}" if @whiny
end
end
end
end
模块回形针
类FileContents<处理器
def初始化文件,选项={},附件=nil
@file=file
@选项=选项
@instance=attachment.instance
@当前_格式=File.extname(attachment.instance.asset_文件名)
@basename=File.basename(@File.path,@current\u格式)
@呜呜声=选项[:呜呜声].nil?正确:选项[:呜呜声]
结束
def制造
开始
#您的导入代码(例如ocr或视频大小调整)。。。
@文件
营救标准错误=>e
raise papercliperor,“处理#{@basename}-#{e}”的文件内容时出错,如果@whiny
结束
结束
结束
结束
回形针和ffmpeg
有人已经为视频文件编写了回形针处理器。看一看gem,看看复杂的处理器是如何编写的
选择
以下是我发现的一些备选方案: