1

我正在阅读此处的文档,但我看不到如何添加条件以限制上传到某些扩展/mime 类型的白名单。

即:我只想允许人们上传扩展名为“xls”、“xlsx”、“ppt”、“pptx”、“doc”、“docx”、“txt”、“csv”的文件

这可能吗?

PS:我正在使用jquery-file-upload并且已经在我的 to s3 之前检查了客户端,POST但是有些浏览器不支持 File api,所以我需要仔细检查。

4

2 回答 2

1

您可能会通过它的 mime 类型进行验证

(这可能没用,因为如果未注册 mimetype,它将为二进制未知类型选择默认的,从浏览器的角度来看)。

在文档中,它被称为:

    ["starts-with", "$Content-Type", "image/"],

我不确定是否允许集合。至少,您可以组合多种策略,每种策略对应一种允许的 mime 类型。

至于扩展,我想你别无选择。

编辑:我前段时间写了一篇文章,概述了整个过程的工作原理以及如何使用它(免责声明:我为 Newvem 写)

于 2012-12-31T13:01:57.533 回答
0
    $('#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 选项似乎是您正在寻找的。更改正则表达式以过滤您想要的类型。我的示例显示了图像文件的那些。

于 2013-01-12T13:56:48.143 回答