Flask-SocketIO 动态更新图像
Flask-SocketIO to update image dynamically
我正在尝试让我的服务器定期使用 flask-socketio 发送图像。我正在使用以下代码发送图像
app.py
with open(f'{app.static_folder}\image.jpg', ) as f:
img = f.read()
socketio.emit('my_response',
{'data': 'Server generated event', 'count': count,
'image': img})
test.js
socket.on('my_response', function(msg) {
let arrayBufferView = new Uint8Array(msg['image']);
console.log(arrayBufferView);
var blob = new Blob( [ arrayBufferView ], { type: "image/jpeg" } );
var img_url = URL.createObjectURL(blob);
console.log(img_url);
$("#img_cam").attr("src", img_url);
});
这不是为我更新图像。我看到使用 socketio 发送了正确的数据,并且数据看起来也在 Uint8Array 之后。
如果我在 html 页面上创建一个按钮并将更新图像行与一个文件一起使用,它就可以正常工作。
如何把传过来的图拍下来,更新图源?
编辑:解决了我在 html 文件中拼错 img_cam 的问题。此代码发布有效。
通过修复我的 html 文件解决了我的问题。
html文件和js文件需要匹配的id。更新图像的代码有效。
我正在尝试让我的服务器定期使用 flask-socketio 发送图像。我正在使用以下代码发送图像
app.py
with open(f'{app.static_folder}\image.jpg', ) as f:
img = f.read()
socketio.emit('my_response',
{'data': 'Server generated event', 'count': count,
'image': img})
test.js
socket.on('my_response', function(msg) {
let arrayBufferView = new Uint8Array(msg['image']);
console.log(arrayBufferView);
var blob = new Blob( [ arrayBufferView ], { type: "image/jpeg" } );
var img_url = URL.createObjectURL(blob);
console.log(img_url);
$("#img_cam").attr("src", img_url);
});
这不是为我更新图像。我看到使用 socketio 发送了正确的数据,并且数据看起来也在 Uint8Array 之后。
如果我在 html 页面上创建一个按钮并将更新图像行与一个文件一起使用,它就可以正常工作。
如何把传过来的图拍下来,更新图源?
编辑:解决了我在 html 文件中拼错 img_cam 的问题。此代码发布有效。
通过修复我的 html 文件解决了我的问题。
html文件和js文件需要匹配的id。更新图像的代码有效。