导轨控制器 - 格式.png



试图让导轨中的控制器块工作。 响应 url 时,我想显示与模型关联的.png文件。

respond_to do |format|
format.html  { render :blank }
format.json { render json: @play }
format.png  do  
send_data data, :type => "image/png", :filename => 'screenshot.png'
end

数据工作正常,是一个 200Kb 的文件。 问题是当我转到网址时:

http://localhost:8080/plays/testing1.png

它把我带到了一个空白页(我创建了show.png.erb,里面什么都没有)。 不确定如何使 png 文件以内联方式显示或可下载。

感谢您的任何帮助

尝试使用Conent-Disposition,您可以将其设置为附件或内联。

老问题,但我几个小时来一直在为同样的问题而苦苦挣扎,以防将来有人发现这个:

我也遇到了同样的问题,即在Chrome中生成带有损坏的图像和标签的文档,即 <img style="-webkit-user-select: none" src="http://localhost:3000/open/28"> . 同样在Firefox中,我收到一个错误,说图像有问题。

解决方案:我将send_data更改为send_file,这给了我以下代码:

respond_to do |format|
  format.png {  send_file img ,type: "image/png", disposition: 'inline' }
end

有关send_file的更多信息,请单击此处

之后,路由通过提供没有损坏的图像标记的 PNG 图像来响应。

希望对某人有所帮助。

最新更新