我正在尝试将图像文件从服务器传输到客户端,但是我的 javascript 回调在流关闭之前变得活跃我这样做是因为在传统的渲染 json 中发送它:超时并且无论如何都需要很长时间。流所需的时间要少得多,但在回调触发之前我无法获取所有数据。
控制器代码
def mytest
image=ImageList.new(AssistMe.get_url(image_url))
response.stream.write image.export_pixels(0, 0, image.columns, image.rows, 'RGBA').to_s
response.stream.close
end
javascript
var getStream, runTest;
runTest = function() {
return $.post('/dotest', getStream);};
getStream = function(params) {
return document.getElementById('whatsup2').innerHTML =
"stream is here " + params.length;};
响应是一个数组,我可以通过在前面添加一个“[”并在末尾添加一个“],['finish'] 来使其成为一个数组数组,以便能够检测到数据的结尾,但我没有'无法弄清楚如何让javascript等到流结束才能运行。我假设我需要设置某种杆来检查结束,但是如何将它附加到回调?