S3 api策略条件,限制文件类型/扩展名
S3 api policy condition to restrict file type / extension
我在这里阅读文档,但我看不出如何添加一个条件来限制上传到一些扩展/mime类型的白名单。
ie:我想只允许人们上传扩展名为"xls", "xlsx", "ppt", "pptx", "doc", "docx", "txt", "csv"的文件
这可能吗?
PS:我使用jquery-file-upload
和已经检查客户端之前,我的POST
到s3,但一些浏览器不支持文件api,所以我需要仔细检查。
您可能会通过mime类型
进行验证(这可能是无用的,因为如果没有注册mime类型,从浏览器的角度来看,它将为二进制未知类型选择默认类型)。
在文档中,它被称为:
["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选项似乎是你正在寻找的。更改正则表达式以过滤所需的类型。我的示例显示了这些用于图像文件。
相关文章:
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- 限制文件类型,大小,单次上传不'无法在jquery文件上传中工作
- 选择特定文件类型时切换额外输入
- 将字符串文件类型/权限转换为数字
- 使用 if - JS 将文件类型附加到 url
- 如果数据的格式略有损坏,是否仍然可以确定其文件类型
- 如何在Joomla模块中通过JavaScript发送输入文件类型
- 如何在Django表单中设置可接受的文件类型'的FileInput小部件
- 根据文件类型取消绑定和重新绑定click事件处理程序
- 禁止的文件类型docx
- 如何将文件类型从Coldfusion代码转换为javascript代码
- 使用Foundation Abide验证文件类型
- Javascript正则表达式文件类型崩溃chrome
- 如何在模式窗口中从html表单文件类型打开图像
- "npm运行构建“;模块解析错误”;您可能需要一个适当的加载程序来处理此文件类型&”;
- jQuery更改时验证文件类型
- Webpack错误:“您可能需要一个适当的加载程序来处理此文件类型”
- 如何使用ReactTestUtils设置HTML5文件类型输入
- Webpack:您可能需要一个适当的加载程序来处理此文件类型
- 文件类型值作为图像源