私はExtjs4ファイルのアップロード制御に取り組んでいます。私は、コントローラの機能は、アップロードされたファイルをretriving、読者のonload関数内でエンコードされた形式で表示している上extjs4でファイルをアップロード
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);
};
}
});
は -
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'
}]
});
とコントローラで対応するアクションしたままのファイルアップロードコントロールとの見解を持っています。すなわち、 "console.log(oFREvent.target.result);"コンソール上にアップロードされたファイルのデータをエンコードされた形式で表示しています。私はこのファイルをサーバー側に送る必要があります。だから私は
var storeObj=this.getStore('kp.DnycontentStore');
storeObj.load({
params:{
data:fileobj
},
callback: function(records,operation,success){
console.log("send");
},
scope:this
})
しかし、そのfileobjを示すなど、未定義の外reader.onload機能AS-保存するためのパラメータとしてfileobjの上方を通過しています。どのようにしてこのファイルをその内容と共にサーバー側に送るのですか?コントローラにアップロードされたファイルを取得してサーバーに送信する他の方法はありますか?誰かが私を導くことができますか?
なぜフォームを送信しないのですか? – dbrin
返信のためにThanxさん。フォームにフォームを送信しようとしたときに、[{ xtype: 'button'、fieldlabel: 'upload'、アクション: 'upload'、名前: 'upload'、テキスト: 'Upload'、formBind : 'true'、 ハンドラー:function(){ var form = this.up( 'form')。getForm(); if(form.isValid()){ form.submit({ url: 'index (成功、 'あなたの写真 "+ o.result.file +'"がアップロードされました。) );}});}}}] " – user1722857
はうまく見えますが、問題は何ですか? – dbrin