2015-04-01 80 views
0

我有一個Sencha Touch 2.3應用程序,我正在幫助開發。我想要實現的功能之一是上傳一個文件,然後我在後端使用PHP做各種事情。但是,我找不到工作實際完成上傳的方式(或者甚至顯示一個對話框,選擇要上傳的文件!)在Sencha Touch中選擇文件後自動上傳文件2.3

我有一個導航欄,如下所示:

... 

    navigationBar: { 
     docked: 'top', 
     id: 'mainAdminToolbar', 
     items: [ 
      { ... 
      }, 
      { 
       align: 'right', 
       hidden: true, 
       text: 'Import', 
       itemId: 'ImportBtn', 
      } 
     ] 

    ... 

在我的主控制器文件,我有以下幾點:

ImportBtn: "adminMain #ImportBtn", 

    "adminMain #ImportBtn": { 
     tap: "onImportTap" 
    }, 

    ... 

我看了很多的例子(如this一個this一個),但我可以讓他們沒有工作。我相信後者可能是框架的更多更新的版本,太多,但我不能更新截至目前,並與2.3版

工作我想要做的是以下幾點:

  1. 有一個用戶點擊按鈕
  2. 有一個對話窗口彈出,其中,用戶可以選擇被選中
  3. 做各種各樣的服務器端的東西與文件後文件
  4. 具有文件自動上傳

如何使用Sencha Touch 2.3實現此目的?

回答

2

嘗試使用 的xtype:「的FileField」和它的「了updateData」事件

要選擇的文件,你可以寫這樣的事情

{ 
    xtype: 'filefield', 
    itemId: 'ImportBtn', 
    listeners: { 
     change: function (button, newValue, oldValue, eOpts) { 
      alert(newValue); 
     } 
    } 
} 

,並選擇該文件後,你可以用這個把它(它的工作原理罰款2.4)

var file = [your-filefield].getComponent().input.dom.files[0]; 

下面是更多的FileField http://docs.sencha.com/touch/2.3.0/#!/api/Ext.field.File

+1

儘管這個鏈接可能回答這個問題,但最好在這裏包含答案的重要部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 – Jost 2015-04-18 10:22:08

+0

感謝您的評論。我已經改變了我的答案 – Sargis 2015-04-18 11:14:12