1

在我的 AIR 应用程序中显示“Base64”编码图像时遇到了一些问题。我正在通过 Web 服务以 XML 格式获取图像,它是“Base64”编码字符串。在应用程序端,我可以对其进行解码,但它无法即时显示图像。在谷歌上搜索一下给了我各种各样的结果,但与我的问题无关,因为其中大部分都与 Flex 有关。我的查询是: 1)解码“Base64”字符串后,是否需要使用一些 PNG 编码器将其转换为 PNG 图像?如果是这样,那么我如何在我的 Adob​​e AIR HTML/Javascript 应用程序中使用 PNGEncoder。有什么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”编码字符串)

请帮忙解决这个问题。对于您的任何建议,我将不胜感激。谢谢。

4

1 回答 1

3

AIR 不支持数据 URL 方案。在 base64 编码之前的图像是什么?如果它已经是 PNG,那么您需要做的就是反转 base 64 编码并将其保存到本地临时文件中。然后,您应该能够使用图像标签加载它。

于 2009-08-28T20:18:21.447 回答