2013-04-10 6 views
5

私は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の上方を通過しています。どのようにしてこのファイルをその内容と共にサーバー側に送るのですか?コントローラにアップロードされたファイルを取得してサーバーに送信する他の方法はありますか?誰かが私を導くことができますか?

+0

なぜフォームを送信しないのですか? – dbrin

+0

返信のために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

+0

はうまく見えますが、問題は何ですか? – dbrin

答えて

1

は、私は、PHP側でfileuplaod処理する方法を知らないが、サーバーからの戻り応答はtext/htmlのは は、この上のドキュメントを参照してくださいコード化する必要があります: http://docs.sencha.com/ext-js/4-1/#!/api/Ext.form.Basic-method-hasUpload

また、例えばPHPのファイルアップロードスクリプト: http://www.w3schools.com/php/php_file_upload.asp

+0

あまり多くのサー...私はあなたが提供したリンクを参照します。 – user1722857