2015-06-23 2 views
0

В основном, это приложение должно содержать коллекцию объектов в представлении, показывающее репрезентативное изображение каждого объекта (то есть фильм должен показывать его плакат).Как кэшировать изображение из URL-адреса перед его отображением

Говоря о фильмах, я пытаюсь использовать API IMDB, чтобы получить метаданные для определенного названия фильма, включая его плакат. Тем не менее, hotlinking не позволит мне отображать изображения, когда их URL-адреса получены из API-интерфейсов (я продолжаю получать «GET [...] 403 Forbidden» error ...).

Поскольку я использую функцию JSONStore для кэширования данных, я хотел бы знать, есть ли возможность хранить эти изображения в JSONStore, а затем отображать их, как это делает обычный браузер. Я стараюсь делать все такие вещи с лицевой стороны, а не с помощью back-end, используя AngularJS, HTML5 и JavaScript.

Есть ли у вас какие-либо предложения по этим проблемам?

спасибо.

ответ

0

Предлагаемое решение: вам нужно будет закодировать изображения на base64, и таким образом вы можете сохранить двоичное изображение в виде строки внутри вашей коллекции JSONStore.

Когда затем нужно, чтобы отобразить его вам нужно будет base64 декодировать строку обратно в изображение и отображать его в HTML

+0

Спасибо за предложение. Так как элемент изображения получается динамически с использованием AngularJS, когда это преобразование происходит? На данный момент источники изображений извлекаются из внешних API-интерфейсов с использованием javascript, а затем отображаются как атрибуты «ng-src». – AlexKibo88

+0

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

+0

Адаптеры заставляют вас развертывать приложение на сервере приложений WebSphere. Поскольку это не мое дело, я искал прямолинейное решение, избегающее использования адаптеров. Если бы я смог их использовать, я бы сделал это, используя Java вместо этого. :-) – AlexKibo88

Смежные вопросы