Местное хранилище с изображениями - PullRequest
0 голосов
/ 28 июля 2011

Я хотел бы сохранить URL-адрес изображения в localalstorage html5, а затем хотел бы установить это изображение на веб-странице, а также установить ссылку на другую веб-страницу (эта ссылка также находится в localStorage)сделать это

Обновление1: возможно ли без base64?

Ответы [ 2 ]

2 голосов
/ 28 июля 2011

Да, вы делаете это неправильно!

Вам нужно что-то подобное, используя изображение в base64:

<script>
var hero;

if (localStorage.getItem('heroImg')) {
    hero = localStorage.getItem('heroImg');
}
else {
    hero = '/9j/4AAQSkZJRgABAgAAZABkAAD/7    /.../    6p+3dIR//9k=';
    localStorage.setItem('heroImg', hero);
}

document.getElementById("hero-graphic").src = 'data:image/png;base64,' + hero; < /script>

</script>

Соответствующий элемент HTML-изображения:

<img id="hero-graphic" alt="Blog Hero Image" src="" / >
1 голос
/ 28 июля 2011

Я считаю, что в настоящее время единственный надежный способ хранения двоичных данных в localStorage - это сохранение строки в кодировке base64. Но вы должны помнить, что localStorage ограничен, и изображения могут быть тяжелыми (а base64 делает их тяжелее).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...