我正在Extjs4文件上傳控制工作。我有在控制器視圖與文件上載控制原樣文件上傳與extjs4
Ext.define('Balaee.view.kp.dnycontent.Content',
{
extend:'Ext.form.Panel',
requires:[
'Balaee.view.kp.dnycontent.ContentView'
],
id:'ContentId',
alias:'widget.Content',
enctype : 'multipart/form-data',
title:'This day in a history',
items:[
{
xtype: 'fileuploadfield',
hideLabel: true,
emptyText: 'Select a file to upload...',
//inputType: 'file',
id: 'upfile',
width: 220
}],
buttons: [{
xtype : 'button',
fieldlabel:'upload',
action:'upload',
name:'upload',
text: 'Upload',
formBind:'true'
}]
});
和相應動作是 -
getUpload : function() {
var file10 = Ext.getCmp('ContentId').getEl().down('input[type=file]').dom.files[0];
var reader = new FileReader();
reader.onload = function(oFREvent) {
fileobj=oFREvent.target.result;
console.log(oFREvent.target.result);
};
}
});
因此上述控制器的功能是retriving上傳的文件和以編碼格式顯示它讀取器的onload函數內。即「console.log(oFREvent.target.result);」行在控制檯中以編碼格式顯示上傳的文件數據。我需要將這個文件發送到服務器端。所以我合格以上FileObj文件作爲參數傳遞給存儲原樣
var storeObj=this.getStore('kp.DnycontentStore');
storeObj.load({
params:{
data:fileobj
},
callback: function(records,operation,success){
console.log("send");
},
scope:this
})
但其顯示FileObj文件爲未定義外reader.onload功能。那麼如何將這個文件和它的內容一起發送到服務器端呢?有沒有其他方法可以將控制器上傳的文件發送到服務器。請有人指導我。
爲什麼不只是提交表單??? – dbrin 2013-04-10 20:09:15
Thanx先生的答覆。當我嘗試通過添加代碼來提交表單時 - 「按鈕:['012'] {''''按鈕',' 'fieldlabel:'upload',action:'upload',name:'upload',text:'Upload',formBind :'true', handler:function(){ var form = this.up('form')。getForm(); if(form.isValid()){ form.submit({0} .php/QuestionBank/Qbpaper/getFile', 成功:function(fp,o){ Ext.Msg.alert('Success','Your photo''+ o.result.file +'「has been uploaded。' );}});}}}]「 – user1722857 2013-04-12 06:07:08
看起來不錯,最新的問題是什麼? – dbrin 2013-04-12 06:28:12