2013-07-26 20 views
2

我是Sencha Touch的新手,我試圖在視圖中顯示圖像。圖像的來源是在我的模型的一個字段中,並且是base64字符串格式。我需要將此字段分配給圖像src。當我嘗試在圖像中設置靜態基礎64內容時,它的工作正常,但是當我試圖通過分配字段動態分配時,視圖是空白的。Sencha Touch:從數據庫中顯示圖像

請參考下面

的代碼基於圖像的base64內容在現場 「附件」

我的視圖代碼

Ext.define('TechHelp.view.ViewAttachment', 
      { 
       xtype : 'viewattachment', 
        extend : "Ext.form.Panel", 
       requires :"Ext.form.FieldSet" , 

     config : { 
        //styleHtmlContent : true, 
        scrollable : 'vertical', 
        title : 'Attachments', 
    items : [{ 
     xtype : "image", 
     name : 'attachment', 
     src: 'data:image/jpeg;base64,'+'Attachment', 
      height:'100px', 
     width: '100px' 
}, ] 
}, 

}); 

我的標準守則

Ext.define未來('TechHelp.model.Attachment',{ extend:'Ext.data.Model',

config: { 
    // define the fields. the default type is string 

    fields:// ['customerId','FirstName'], 
      [{name:'AttachmentId'}, 
      {name:'TicketId'}, 
      {name:'Attachment'}, 
      {name:'FileName'}, 
      ], 

}, 

});

請幫忙。

+0

我對這一個超級困惑。要使用模型,您需要一個我在代碼中看不到的商店。另外,圖像不是您可以附加存儲的對象,因此您所採用的方法甚至不起作用。如果您要將所有base64數據存儲在商店中,則必須提取確切的記錄並使用函數將值推入。 – hvchris

回答

1

你或許應該設置數據視圖,然後使用第三方物流來打印值:

控制器:

var itemView = Ext.create('TechHelp.view.ViewAttachment'); 
itemView.setRecord(record); 

觀點:

config : { 
    scrollable : 'vertical', 
    title : 'Attachments', 
    tpl: '<img src="data:image/jpeg;base64,{Attachment}" />' 
    .... 
}, 

updateRecord: function(record) { 
    if (record) this.setData(record.data); 
} 

希望helps-

+0

謝謝你的建議 – user2622786