我有一个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
我想做的是以下内容:
如何使用Sencha Touch 2.3实现这一目标?
答案 0 :(得分: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