【发布时间】:2014-09-05 06:58:32
【问题描述】:
我正在使用JQuery File Upload 插件。
我只想上传带有 .doc、.docx、.pdf 等扩展名的文件。所以有人可以告诉我如何允许插件只上传 .doc、.docx、.pdf 文件。任何帮助和建议都将是非常可观的。谢谢
【问题讨论】:
-
我也遇到了同样的问题,你解决了吗?
标签: jquery jquery-plugins jquery-file-upload
我正在使用JQuery File Upload 插件。
我只想上传带有 .doc、.docx、.pdf 等扩展名的文件。所以有人可以告诉我如何允许插件只上传 .doc、.docx、.pdf 文件。任何帮助和建议都将是非常可观的。谢谢
【问题讨论】:
标签: jquery jquery-plugins jquery-file-upload
您可以尝试使用acceptFileTypes 选项,例如,
var acceptFileTypes =/^application\/(pdf|msword)$|^doc$|^docx$/i;
【讨论】:
var ext = $('#my_file_field').val().split('.').pop().toLowerCase();
if($.inArray(ext, ['doc','docx','pdf']) == -1) {
alert('invalid extension!');
}
【讨论】:
您是否尝试在输入标签上设置接受属性
<input id="fileupload" type="file" name="file" accept=".doc,.docx,.pdf">
【讨论】:
插件的选项中有一个参数用于此目的。
options: {
acceptFileTypes: 'File type not allowed',
}
解释在这里: fileupload-validate.js
【讨论】:
在文件中搜索该行:server/php/UploadHandler.php
'accept_file_types' => '/\.(gif|jpe?g|png)$/i'
添加到末尾,因此:
'accept_file_types' => '/\.(gif|jpe?g|png|pdf)$/i'
【讨论】:
这里有两种方法:
第一:
$('#file').on( 'change', function() {
myfile= $( this ).val();
var ext = myfile.split('.').pop();
if(ext=="docx" || ext=="doc"){
alert(ext);
} else{
alert(ext);
}
});
在警告框中显示您的实际文件类型
alert(ext);第二:
扩展名应该以点
"."开头
【讨论】: