试图让导轨中的控制器块工作。 响应 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 图像来响应。
希望对某人有所帮助。