Ruby on Rails + Paperclip + Facebox:图像加载为文本而不是图像

时间:2011-08-31 15:23:32

标签: ruby-on-rails paperclip facebox

这是当我使用绝对URL加载图像时会发生什么: http://dl.dropbox.com/u/331982/Help/Screen%20shot%202011-08-31%20at%2011.17.44%20AM%20copy.png

是什么原因导致图像无法呈现为图像?

Facebox存在问题吗?

这就是我制作图片链接的方式:

<a href="images/stairs.jpg" rel="facebox">text</a>

就像网站http://defunkt.io/facebox/

一样

下载方法:

  def download
    head(:not_found) and return if (media = Media.find_by_id(params[:id])).nil?

    path = media.document.path(params[:style])
    head(:bad_request) and return unless File.exist?(path) && params[:format].to_s == File.extname(path).gsub(/^\.+/, '')

    send_file_options = { :disposition => 'inline', :type => media.document.content_type }
    send_file_options = { :disposition => 'inline' } if File.extname(path) == ".swf" && media.document_content_type == "application/x-shockwave-flash"

    case SEND_FILE_METHOD
      when :apache then send_file_options[:x_sendfile] = true
      when :nginx then head(:x_accel_redirect => path.gsub(Rails.root, ''), :content_type => send_file_options[:type]) and return
    end

    send_file(path, send_file_options)
  end

2 个答案:

答案 0 :(得分:0)

这看起来像一个MIME类型错误,您将其作为HTML或某些解释为HTML的方式返回。如果您使用的是send_file,请务必设置您的响应MIME类型。这是:type的{​​{1}}选项。

答案 1 :(得分:0)

您需要使用以下补丁修补facebox.js。

https://github.com/ipavelek/facebox/commit/e4a0101596cd269f8337920564c8d33e193e8cbe

Facebox不会处理rails附加到图片的URL查询参数。