Показать сообщение отдельно
  #1 (permalink)  
Старый 09.03.2018, 13:52
Профессор
Отправить личное сообщение для Teamur Посмотреть профиль Найти все сообщения от Teamur
 
Регистрация: 08.06.2015
Сообщений: 206

Как вернуть blob из img.src?
<!doctype html><meta charset='utf-8'><title>BLOB</title>
<div id='BOX'></div>
<input id='FI' type='file' multiple>

<style>
	#BOX{display:flex;flex-wrap:wrap}
	img{width:300px;padding:10px}
</style>

<script>

	function getBlobFromSrc(e){
	  let img=e.target, strBlob=e.target.src;
	  console.log(strBlob);		// Что нужно сделать, чтобы снова отобразить blob а не строку
	};

	function Store(blob){ console.log(blob);
	  let img=new Image;
	  img.src=URL.createObjectURL(blob);
	  img.addEventListener('click',getBlobFromSrc);
	  BOX.append(img);
	};

	FI.onchange=e=>{
	  let i, n=e.target.files, r;
	  for(i of n){
	    r=new FileReader;
	    r.readAsDataURL(i);
	    r.onload=e=>fetch(e.target.result)
	     .then(i=>i.blob())
	     .then(i=>Store(i))
	  }
	};

</script>

Загрузите несколько картинок, откройте консоль и пройдитесь кликом по каждой из них.
Что делать не знаю. Неужели придется городить new Blob(...)?
Такое ощущение, что после вставки blob в src картинки, мы его теряем (
 
Ответить с цитированием