我们正在将Blob
(图像)传输到 websocket 并将其渲染到另一端的画布上。
当我createObjectURL
与 blob 一起使用时,我收到以下警告:
Resource interpreted as Image but transferred with MIME type text/plain: "blob:https%3A//example.com/demo".
我们使用以下代码创建对象 URL。Blob 通过socket.binaryType = "blob";
客户端的标准 websocket 发送:
socket.onmessage = function(e) {
var blob = e.data;
var url = (window.URL || window.webkitURL).createObjectURL(blob);
var image = document.createElement('img');
image.src = url;
}
我认为解决此警告的唯一方法是使用以下代码创建 blob 的副本,但我不想引入复制所有数据的开销:
var blob = new Blob([e.data], {
type: 'image/gif'
});
该方法每秒被调用数十次。
关于如何在不创建重复Blob
对象的情况下设置 blob 内容类型的任何想法new Blob
?