gpt4 book ai didi

ruby-on-rails-3 - 在rails中查找上传文件的内容类型

转载 作者:行者123 更新时间:2023-12-04 07:13:51 25 4
gpt4 key购买 nike

我正在研究 ruby​​ on rails。我正在尝试做一个文件附件(图像/音频/视频)。

所以我有一个常用的方法,比如

byteArray = StringIO.new(File.open("path").read)

在ruby中是否可以找到byteArray的内容类型来判断上传的文件是否为图片/音频/视频/pdf。

最佳答案

我看到它被标记为 paperclip,所以我将告诉您我们如何使用 paperclip 来实现:

class Attachment < ActiveRecord::Base

has_attached_file :attachment,
styles: lambda { |a| a.instance.is_image? ? {:small => "x200>", :medium => "x300>", :large => "x400>"} : {:thumb => { :geometry => "100x100#", :format => 'jpg', :time => 10}, :medium => { :geometry => "300x300#", :format => 'jpg', :time => 10}}},
:processors => lambda { |a| a.is_video? ? [ :ffmpeg ] : [ :thumbnail ] }

def is_video?
attachment.instance.attachment_content_type =~ %r(video)
end

def is_image?
attachment.instance.attachment_content_type =~ %r(image)
end

end

如果您设法将您的文件放入 Paperclip,它基本上已经将其切割成 content_type。这意味着如果您使用 lambda判断附件 content_type 是否包含 imagevideo

如果你给我一些关于你想要实现的目标的更多信息,我可以给你一些重构代码来专门帮助你解决问题:)

关于ruby-on-rails-3 - 在rails中查找上传文件的内容类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15217029/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com