Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как вернуть blob из img.src? (https://javascript.ru/forum/misc/72946-kak-vernut-blob-iz-img-src.html)

Teamur 10.08.2018 12:32

Alexandroppolus,

В этой теме речь шла о том, что на странице есть кнопочка с <input type='file'>. Картинку отображаем на странице. Затем я взял src из картинки и сохранил ее в indexedDB

Teamur 10.08.2018 12:34

Я с инпута получил файл, обработал его через URL.createObjectURL и сохранил в IDB

Teamur 10.08.2018 12:38

Наверное придется в IDB сделать хранилище 'TEMP', куда будут сохранятся объекты типа FILE, получаемых с инпута и тогда проблем с преобразованиями после перезагрузки страницы не будет!

Но все же

Alexandroppolus 10.08.2018 12:38

Цитата:

Сообщение от Teamur
Я с инпута получил файл, обработал его через URL.createObjectURL и сохранил в IDB

та коротенькая строка, которую возвращает URL.createObjectURL - это ссылка на блоб, который хранится где-то внутри работающего браузера. Как только закрыли браузер, блоб исчез, строка стала бесполезной, она ни на что не ссылается.

Teamur 10.08.2018 12:41

Alexandroppolus,
Но до перезагрузки страницы, я нажимаю кнопочку SAVE, которая сохраняет то что дает URL.createObjectURL

Teamur 10.08.2018 12:43

Alexandroppolus,
А вот оно что, понятно. Как тогда люди сохраняют загруженное через input?

Alexandroppolus 10.08.2018 12:51

Teamur,
можно просто сохранять блоб как есть, без превращения в строку
https://developer.mozilla.org/en-US/...sing_IndexedDB - раскури эту статью

Teamur 10.08.2018 12:57

Alexandroppolus,
спасибо почитаю, но я ведь превращал в строку, чтобы можно было сначала посмотреть, что сохраняешь, ведь в проводнике устройства надо еще включить отображение эскизов. А тут например, кликнул по инпуту, в списке по названию выбрал картинку, посмотрел на нее в браузере и уже потом загромождать IndexedDB

Teamur 10.08.2018 12:59

Alexandroppolus,
вот вы использовали ли бы хранилище TEMP в IDB или сохраняли бы сразу в хранилище IMAGES ?

Alexandroppolus 10.08.2018 13:01

Цитата:

Сообщение от Teamur
но я ведь превращал в строку, чтобы можно было сначала посмотреть, что сохраняешь

всё правильно
если хочешь глянуть что за картинка в блобе, то без URL.createObjectURL не обойтись. Получится ссылка, которую можно сиюминутно показать через <img> или стиль background, но не сложить на постоянное хранение


Часовой пояс GMT +3, время: 03:40.