我通过回形针(在rails中)上传图片。此图片将显示在rss Feed中。对于RSS提要,我需要填写字段长度,告诉客户端我猜的文件长度。
附加文件本身很容易,因为有一个列file_size,但是如果图片是后期处理并且我想要包含这张图片怎么办?如何获得文件大小?
代码:
pic.rb
class Pic < ActiveRecord::Base
has_attached_file :image,
:styles => {
:mail => "780x540>",
:medium => "260x180>",
:thumb => "130x90>",
},
:storage => :s3
end
rss.rb
xml.instruct! :xml, version: "1.0"
xml.rss version: "2.0" do
xml.channel do
@ps.each do |p|
xml.item do
xml.title p.title
xml.description p.description.truncate(250)
xml.pubDate p.starts_at.to_s(:rfc822)
xml.link p.uri_name
xml.guid p.uri_name
xml.enclosure url: p.pic(:medium), type: "image/jpeg", length: ??
end
end
end
end
应该很容易,但是..
答案 0 :(得分:0)
找到解决方案:
因为它存储在s3上,我可以通过http ..
获取信息在pic.rb中
def content_length(size)
parts = URI.parse image.url(size)
Net::HTTP.start(parts.host, parts.port) do |http|
response = http.request_head parts.path
file_size = response['content-length']
end
end