gpt4 book ai didi

ruby-on-rails - ruby rails : Sending large pictures using send_data/send_file results in errors

转载 作者:太空宇宙 更新时间:2023-11-03 16:05:52 33 4
gpt4 key购买 nike

我正在使用 Ruby 1.93 和 Rails 3.2,我尝试使用函数 send_datasend_file 发送图片。目前我正在使用 WebBrick 作为开发服务器。

在这两种情况下,只要图片小于 330kB 左右,它似乎都能正常工作。但是当图片变大(比如1MB)时,Firefox、Maxthon 和IE 都停止显示图片并且Firefox 说图片有错误。

我下载了损坏的图片文件,并将文件大小与原始图片进行了比较。在大图片上,文件大小大约大 400 字节。

这里是一些尝试过的代码块:

send_data img.to_blob, :stream => 'false', :filename => 'test.jpg', :type => 'image/jpg', :disposition => 'inline'

send_data( img.to_blob, :filename => "test.jpg" )

send_file( 'C:\WebProjects\RubyTest\public\data\pic3_3.jpg' , :disposition => 'inline')

File.open('C:\WebProjects\RubyTest\public\data\pic3_3.jpg', 'rb') do |f|
send_data f.read, :type => "image/jpeg", :disposition => "inline"
end

有趣的是,对于更大的文件,Firefox、Maxthon 和 IE 提示图像损坏,而 Blackberry Playbook 能够显示该图片。另一方面,Playbook 存在其他浏览器正确显示的一些较小图片的问题。

Btw .to_blob 是一个返回二进制对象的 RMagick 函数。但是 RMagick 似乎工作正常。

最佳答案

我想我找到了答案。 I replaced WEBrick by Thin as you can see on this website.WEBrick 似乎在处理较大的文件时存在问题。我不知道 Thin 是否是最终的解决方案,但至少它解决了问题。

关于ruby-on-rails - ruby rails : Sending large pictures using send_data/send_file results in errors,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14099330/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com