将Ext.Ajax.request返回的图像二进制数据加载到<img/>标记中

时间:2013-01-29 19:13:14

标签: html extjs

这是一个Sencha Touch + HTML问题。

我使用Ext.Ajax.request从服务器检索图像数据。

    Ext.Ajax.request({
        url: 'http://localhost:3000/someimage.jpg',
        method: 'GET',
        success: function(res) {
            rec.set('imagedata', 'data:image/jpeg;base64{' + res.responseText + '}');
        },
        failure: function() {
            console.log ( 'Failed to GET image data ' + url );
        },
        scope: this
    });

以上res.responseText似乎包含jpg文件的内容。

稍后,我将图像数据传递到html中的标记,如下所示,

<img src="{imagedata}" style="width:100%;"/>

结果:

而不是图像,我在图像框中看到乱码文本。乱码文本是responseText的内容。

(PS ......我这样做是为了能够将图像数据本地存储到sencha商店。)

1 个答案:

答案 0 :(得分:1)

我只是将图像的URL存储在商店中,然后像运行设置为URL的src一样动态创建IMG元素。

保持简单。