Как отобразить изображение в кодировке Base64 в приложении Adobe AIR с помощью Javascript/HTML

У меня возникают проблемы при отображении изображения в кодировке Base64 в моем приложении AIR. Я получаю изображение, представляющее собой строку в кодировке Base64, в формате XML через веб-службу. На стороне приложения я могу его декодировать, но не смог отобразить изображение на лету. Небольшой поиск в Google дал мне разные результаты, но не относящиеся к моей проблеме, потому что большинство из них связаны с Flex. Мои вопросы: 1) После декодирования строки «Base64» мне нужно преобразовать ее в изображение PNG с помощью какого-либо кодировщика PNG? если да, то как я могу использовать PNGEncoder в своем приложении Adobe AIR HTML/Javascript. есть ли API или около того? 2) Поскольку изображение, которое я получаю с веб-сервера, является значком, я устанавливаю его как значение «src» для элемента, который я создаю динамически, следующим образом:

            var category_header_img = new Element('img', 
        {
            'id': 'category_header_img' + this.SelectedCategoryID,
            'class': 'category_header_img',
            'src': 'data:image/png;base64,'+categoryIconBytes,
            'cat_id': this.SelectedCategoryID

        });

Я нашел это решение, 'src': 'data:image/png;base64,'+categoryIconBytes где-то, которое пытался использовать, но оно не сработало (где categoryIconBytes - это закодированная строка "Base64")

Пожалуйста, помогите решить эту проблему. Буду очень признателен за любое ваше предложение. Спасибо.


person Code.Decode    schedule 28.08.2009    source источник


Ответы (1)


Схема URL-адреса данных не поддерживается в AIR. Каким было изображение до того, как оно было закодировано в base64? Если это уже PNG, то все, что вам нужно сделать, это изменить кодировку base 64 и сохранить ее локально во временный файл. Затем вы сможете загрузить его с помощью тега изображения.

person Community    schedule 28.08.2009