我在服务器上有一张图片。我使用Socket.io每5秒读取一次PNG图像。我正在将图像转换为base64,然后将base64字符串发送到客户端。代码如下:
var imageUpload = function(){
fs.readFile('image1.png', 'base64', function(err, buf){
socket.emit('image upload', { image: true, buffer: buf });
setTimeout(imageUpload, 5000);
});
};
在客户端,我从socket获取数据,然后调用函数displayImage(),它将base64图像显示为html页面。
var displayImage = function(data){
var URL = 'data:image/png;base64,'+data.buffer;
document.querySelector("#uploaded-image").src = URL;
}
但问题是,它每次都会向服务器发出GET请求。
当我将图像作为base64字符串发送时,有没有办法将该字符串显示为图像而不发出GET请求,因为发送文件然后再次请求同一文件没有意义通过GET?
PS:我正在开展一个我需要实时视频流的项目。就像我一样 无法获得视频流,我正在处理生成的实时图像 由研究相机在缓冲循环中。我想要显示它 50毫秒间隔的图像,因此它看起来像一个实时视频 流。所以我只想从服务器发送那一堆图像 持续不做GET请求。