javascript - javascript Mqtt接收图像并更改src属性
问题描述
我有这个简单的 HTML 代码:
<!DOCTYPE html>
<html>
<head>
<script src="prog_page3.js" defer></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/paho-mqtt/1.0.1/mqttws31.js" type="text/javascript"></script>
</head>
<body>
<h1 id="status">status : --</h1>
<button onclick="connect()"> connect and import</button>
<img src="image/txt_hemera.PNG" class="img_importer">
</body>
</html>
我正在尝试通过 mqtt 服务器接收图像来更改 img 标签的 src,所以我这样做:
function onMessageArrived(r_message) {
console.log("message here")
document.getElementsByClassName('img_importer').src = "data:image/png;base64," + convert(r_message.payloadBytes);
}
function convert(buffer) {
var decoder = new TextDecoder('utf8');
return window.btoa(decoder.decode(buffer));
}
但它不起作用,并且控制台中没有错误!mqtt 连接正常,因为我可以接收文本并在控制台中打印!
谢谢你 !
解决方案
推荐阅读
- reactjs - React - 由于目标被视为被动,无法在被动事件侦听器中阻止默认值
- c++ - 将结构写为二进制,其中一个成员是字符串?
- javascript - 停止重新渲染聊天
- php - 如何为通过 https 访问的 cakephp 应用程序修复“在此服务器上找不到 webroot/”?
- javascript - 如何使用 Math.Floor 获取特定索引?
- c - 如何建立一个符号,一个字符作为循环的条件
- python - 在python中将一组3D点转换为高度图像的最快方法
- javascript - 未捕获的类型错误:无法读取 null 的属性“jsonName”
- ruby-on-rails - 如何在不使用 docker-compose 的情况下配置 sidekiq&redis?
- sql-server - 需要将动态 SQL、开放式查询、JSON、动态变量和其他一些奇怪的东西混合到一个查询中