【问题标题】:Auto-File upload after selecting file in Sencha Touch 2.3Sencha Touch 2.3 选择文件后自动上传文件
【发布时间】:2015-04-18 19:13:07
【问题描述】:

我有一个正在帮助开发的 Sencha Touch 2.3 应用程序。我想要实现的功能之一是上传一个文件,然后我在后端使用 PHP 做各种事情。但是,我找不到一种可以实际完成上传的方法(甚至显示一个对话框来选择要上传的文件!)

我有一个如下所示的导航栏:

    ...

    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 实现这一点?

【问题讨论】:

    标签: javascript php extjs sencha-touch-2


    【解决方案1】:

    尝试使用 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];
    

    这里是关于文件域的更多信息 http://docs.sencha.com/touch/2.3.0/#!/api/Ext.field.File

    【讨论】:

      猜你喜欢
      • 2014-10-17
      • 2012-10-11
      • 2014-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多