@name_is_undefined
Front-end developer

Рационально ли хранить base64 картинки в local storage?

Я разрабатываю приложение которое включает в себя функционал по обрезанию картинок, реализованного с помощью canvas, всего в приложении этот процесс может повторяться 10-30 раз. После кропа картинки, с помощью canvas, я конвертирую её в blob canvas.toBlob(callback) и с помощью функции URL.createObjectURL(blob)), 'image/png') создаю ссылку которая хранит в себе данные о картинке. Последний шаг сделан для оптимизации, потому что как оказалось если в тег img вставить параметр src со значением base64 картинки и часто перерисовывать этот элемент, то старица начнёт заметно фризить. Всё было замечательно пока я не начал добавлять логику по сохранению состояния приложения после перезагрузки страницы. Так как я использую связку React Redux я просто сохраняю состояние приложения в localStorage, но в силу того что время жизни ObjectURL связано непосредственно с document после перезагрузки ссылки которые я хранил в стейте не хранят в себе данных о картинке. Как сохранить base64 картинки после перезагрузки страницы?
  • Вопрос задан
  • 1136 просмотров
Пригласить эксперта
Ответы на вопрос 3
sim3x
@sim3x
Нет
на 30% больше размер

Храните файл прямо на диске у пользователя

https://stackoverflow.com/questions/7951326/save-i...
https://caniuse.com/#feat=download
Ответ написан
@frees2
Собственно, почему нельзя? Раньше были страхи, мол, там места мало, на хабре пугали народ.

Но
if (localStorage.getItem('ключ') === null) {......... просто картинка  с адресом, после скобок сохранённый блок с картинкой.
Ответ написан
Yertuwernat
@Yertuwernat
Кратко о себе: живу в России, не женат, характер
localStorage ограничен по времени и по размеру - для картинок не подходит
используй localforage

localStorage можно использовать для чего-то простого и неважного - например настройки приложения
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы