Мы переносим Blob
(изображение) вниз по websocket и передаем его на холст на другом конце.
Когда я использую createObjectURL
с blob, я получаю это предупреждение:
Resource interpreted as Image but transferred with MIME type text/plain: "blob:https%3A//example.com/demo".
Мы создаем URL-адрес объекта, используя следующий код. BLOB отправляется через стандартный websocket с socket.binaryType = "blob";
на стороне клиента:
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
?