Почему url blob постоянно выдает null
Мне нужно с файла blob получить url и записать в атрибут src тега img
let img=new Image();
img.src="https://img2.akspic.ru/previews/0/9/8/9/6/169890/169890-legkovyye_avtomobili-lambordzhini-sportkar-drifting-avtosport-x750.jpg"
let blobUpload = new Blob([img], {type: 'image/jpg'});
Дальше достаю url и добавляю для картинки которая в разметке src
let imgUrl=URL.createObjectURL(pic);
document.querySelector("img").setAttribute("src",imgUrl)
В итоге ничего не получается так как url этот постоянно выдает в консоле постоянно null
blob:null/b9a0a7e1-f31a-425a-84c3-8d653919a3cb
Не могу понять почему так, я уже пробовал и файлы с пк в src добавлять но все так же
Ответы (1 шт):
blob:null означает, что страница браузера, которая получила двоичные данные для формирования собственной браузерной url ссылки на полученные с сервера двоичные данные, сама не имела собственного url. У меня это произошло когда методами cors файл .html открытый как файл 'file:///C:/XXX', а не localhost, получил двоичные данные от сервера и пытался сформировать URL для blob, хотя сама страница, его, (url) не имела. Как следствие, сформировался null. Блоб не работает. Но этот же самый скрипт, открытый на http сервере, имеет url http:/localhost и работает без проблем.
Проще. При формировании blob, страница браузера не имела собственного url адреса.
Здесь есть пример формирования подобного blob. https://stackoverflow.com/questions/28377733/url-createobjecturl-returns-a-blob-with-null-prepended-eg-blobnull-12415-63