首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >acceptFileTypes Blueimp丝状体

acceptFileTypes Blueimp丝状体
EN

Stack Overflow用户
提问于 2015-07-23 13:23:28
回答 2查看 1.5K关注 0票数 3

我已经实现了JQuery fileupload,但是对于所接受的文件类型有一个小问题:

代码语言:javascript
复制
$('#fileupload').
    url: '/upload/uploaddoc', // URL zum File Upload
    type: 'POST',
    dataType: 'json',
    uploadTemplate: 'template-upload',
    acceptFileTypes: /^.*\.(?!exe$|lnk$)[^.]+$/i,
    maxFileSize:allowed_file_size
    .......
 }

我使用正则表达式来识别不允许的文件类型。但我想传递一个变量,该变量包含与maxFileSize中相同的可接受文件类型,但它似乎不接受列表和字符串。

你知道什么是真正传递给acceptFileTypes的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-23 15:25:24

您可以使用RegExp构造函数。

类似于:

代码语言:javascript
复制
acceptFileTypes: new RegExp("^.*\\." + my_condition_lookahead + "[^.]+$", "i"),

注意,在使用构造函数符号声明regex时,需要双转义特殊regex元字符。

票数 3
EN

Stack Overflow用户

发布于 2015-07-23 15:26:54

stribizhev的评论很有帮助,我正在创建正则表达式,这是我的代码:

代码语言:javascript
复制
NotallowedExtensions = ['.lnk', '.exe'];
for(var i= 0; i < NotallowedExtensions.length; i++){
    substr = NotallowedExtensions[i].substring(1);//i cut the (.) from the extension here
    if(i == NotallowedExtensions.length-1 ){
       regex+=substr + "$";
    } else {
      regex+=substr + "$|";
    }
}

在那之后,我的acceptFileTypes看起来像这样:

代码语言:javascript
复制
acceptFileTypes: new RegExp("^\.*\\.(?!" + regex + ")[^.]+$", "i")
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31588693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档