Extjs 上传文件如何控制文件的类型,就是他的扩展名

时间:2022-03-30 03:55:37
我用的是Ext3.X的
我用的fileuploadfield控件, 看到网上有人写了一个自己改的Ext的fileuplaod的源文件,我现在还不会搞这个,看他写了一个fileType:['doc','xls','pdf']
我加上这个属性也没有效果,大虾们求助
我第一次发帖,没有多少分

6 个解决方案

#1


自己通过正则去验证吧。

#2


引用 1 楼  的回复:
自己通过正则去验证吧。

您有现成的么,不会写正则……

#3


 fileupload 的配置中加 regex:/(doc)|(pdf)$/i;
(ext4中)
正则不知道写的对不。
你也可用js去判断

#4


http://deerchao.net/tutorials/regex/regex.htm

#5


设置校验器,在处理函数中判断所需类型,
例:
var upload = new Ext.ux.form.FileUploadField({
  ...
  validator: function(v){
    if(!/\.txt$/.test(v)){
      return false;
    }
    return true;
  }
});


资料来源:
http://www.sencha.com/forum/showthread.php?88567-How-to-set-the-file-upload-just-for-extension-of-.txt-only

#6


设置fileuploadfield控件的change事件,或是你自定义一个按钮事件,以下是代码,希望对楼主有所帮助。

//首先,绑定fileuploadfield的change事件
function change(){
//field是fileuploadfield组件对象
var fp = field.up('form[itemId=formUploadFile]');
//获取表单对象
var form = fp.getForm();
//获取表单里面的元素值
var file = fp.child('filefield').getValue();
        //解析元素,获取文件名
var fileName = file ? file.substring(file.lastIndexOf('\\')+1) : undefined;
        //获取文件的类型
var type = fileName ? fileName.substring(fileName.lastIndexOf('.')+1) : undefined;
        //根据type的值
if(type == "XXXXX"){

}

#1


自己通过正则去验证吧。

#2


引用 1 楼  的回复:
自己通过正则去验证吧。

您有现成的么,不会写正则……

#3


 fileupload 的配置中加 regex:/(doc)|(pdf)$/i;
(ext4中)
正则不知道写的对不。
你也可用js去判断

#4


http://deerchao.net/tutorials/regex/regex.htm

#5


设置校验器,在处理函数中判断所需类型,
例:
var upload = new Ext.ux.form.FileUploadField({
  ...
  validator: function(v){
    if(!/\.txt$/.test(v)){
      return false;
    }
    return true;
  }
});


资料来源:
http://www.sencha.com/forum/showthread.php?88567-How-to-set-the-file-upload-just-for-extension-of-.txt-only

#6


设置fileuploadfield控件的change事件,或是你自定义一个按钮事件,以下是代码,希望对楼主有所帮助。

//首先,绑定fileuploadfield的change事件
function change(){
//field是fileuploadfield组件对象
var fp = field.up('form[itemId=formUploadFile]');
//获取表单对象
var form = fp.getForm();
//获取表单里面的元素值
var file = fp.child('filefield').getValue();
        //解析元素,获取文件名
var fileName = file ? file.substring(file.lastIndexOf('\\')+1) : undefined;
        //获取文件的类型
var type = fileName ? fileName.substring(fileName.lastIndexOf('.')+1) : undefined;
        //根据type的值
if(type == "XXXXX"){

}