0

我通过回形针(在导轨中)上传图片。这张图片将出现在 RSS 提要中。对于 RSS 提要,我需要填写告诉客户端我猜的文件长度的字段长度。

附件本身很容易,因为有一个列file_size,但是如果图片是后期处理的,我想包含这张图片,我如何获得文件大小?

代码:

图片.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

应该很容易,但是..

4

1 回答 1

0

找到了解决方案:

因为它存储在s3上,我可以通过http获取信息..

在图片.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
于 2012-12-27T15:11:56.937 回答