Extjs关于获取上传文件的格式和文件名

Extjs通过filefield方式上传文件如下:

Ext.create('Ext.form.Panel', {
title: 'Upload a Photo',
width: 400,
bodyPadding: 10,
frame: true,
renderTo: Ext.getBody(),
items: [{
xtype: 'filefield',
name: 'photo',
fieldLabel: 'Photo',
labelWidth: 50,
msgTarget: 'side',
allowBlank: false,
anchor: '100%',
buttonText: 'Select Photo...'
}],


buttons: [{
text: 'Upload',
handler: function() {
var form = this.up('form').getForm();
if(form.isValid()){
form.submit({
url: 'photo-upload.php',
waitMsg: 'Uploading your photo...',
success: function(fp, o) {
Ext.Msg.alert('Success', 'Your photo "' + o.result.file + '" has been uploaded.');
}
});
}
}
}]
});

默认value显示的路径如:C:\fakepath\text.excel,现在需要获取该文件的类型及名字,并在textfield中显示,首先在textfield中显示filefield中value可以使用如下:Ext.getCmp('id').setValue('');,要获得文件类型,需要拆分C:\fakepath\text.excel,我们以“.”作为拆分的手段如:

var arr = value.split('.');

var fileExtenstion = arr[arr.length-1];

Ext.getCmp('id').setValue( fileExtension );

就能获得当前的文件类型,即获得“excel”,文件名也是如此如下:

var arr = value.split('\\');

var fileName = arr[arr.length-1];

var arr = fileName.split('.');

arr.pop();

Ext.getCmp('id').setValue(  arr );

就能获得当前的文件名了。

有个小点要注意就是“\”只写一个斜杠代码是识别不了的,JS要写两个,但不同的代码对斜杠要求是不同的,下面是个例子:

regex为\\\\,因为在java中\\表示一个\,而regex中\\也表示\,所以当\\\\解析成regex的时候为\\。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值