我正在阅读此处的文档,但我看不到如何添加条件以限制上传到某些扩展/mime 类型的白名单。
即:我只想允许人们上传扩展名为“xls”、“xlsx”、“ppt”、“pptx”、“doc”、“docx”、“txt”、“csv”的文件
这可能吗?
PS:我正在使用jquery-file-upload
并且已经在我的 to s3 之前检查了客户端,POST
但是有些浏览器不支持 File api,所以我需要仔细检查。
我正在阅读此处的文档,但我看不到如何添加条件以限制上传到某些扩展/mime 类型的白名单。
即:我只想允许人们上传扩展名为“xls”、“xlsx”、“ppt”、“pptx”、“doc”、“docx”、“txt”、“csv”的文件
这可能吗?
PS:我正在使用jquery-file-upload
并且已经在我的 to s3 之前检查了客户端,POST
但是有些浏览器不支持 File api,所以我需要仔细检查。
您可能会通过它的 mime 类型进行验证
(这可能没用,因为如果未注册 mimetype,它将为二进制未知类型选择默认的,从浏览器的角度来看)。
在文档中,它被称为:
["starts-with", "$Content-Type", "image/"],
我不确定是否允许集合。至少,您可以组合多种策略,每种策略对应一种允许的 mime 类型。
至于扩展,我想你别无选择。
编辑:我前段时间写了一篇文章,概述了整个过程的工作原理以及如何使用它(免责声明:我为 Newvem 写)
$('#fileupload').fileupload('option', {
maxFileSize: 25000000,
acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
process: [
{
action: 'load',
fileTypes: /^image\/(gif|jpeg|png)$/,
maxFileSize: 20000000 // 20MB
},
{
action: 'save'
}
]
});
fileTypes 选项似乎是您正在寻找的。更改正则表达式以过滤您想要的类型。我的示例显示了图像文件的那些。