gpt4 book ai didi

javascript - 如何限制多扩展名的文件上传

转载 作者:行者123 更新时间:2023-11-30 20:04:16 24 4
gpt4 key购买 nike

我正在使用 Kendo uploader 将文件上传到我的应用程序中。我确保只允许我的配置中定义的扩展被允许上传或显示错误消息。我的代码看起来像这样

var validExtensions = [".pdf", ".doc", ".docx", ".pptx", ".xls", ".xlsx", ".txt"];

$('#uploader').kendoUpload({
multiple: false,
select: function (e) {
if (validExtensions.indexOf(e.files[0].extension.toLowerCase()) <= -1) {
alert("File type not allowed!");
e.preventDefault();
return false;
}
}
});

这可以很好地接受仅给定扩展名的文件。但是安全团队提出了一个问题,他们正在评估以避免上传具有多个扩展名的文件(例如 fileName.msi.txtfileName.exe.doc)不应该被允许。

我知道我们可以根据 .并进行评估,但我想知道我们是否有更简洁的方法来实现这一目标?

谢谢

最佳答案

不幸的是,您无法仅根据文件名来确定有效文件。文件名可以随意命名,因此没有无法通过快速重命名来规避的过滤。

如果您使用的是 HTML 5,则可以 access the MIME type所选 <input type="file">元素。

例如:

<input type="file" onchange="handleFiles(this.files)">
<script>
function handleFiles(files) {
var selectedFile = files[0];

console.log(
"The selected file has the name "
+ selectedFile.name
+ " and is of the type "
+ selectedFile.type + "."
);
}
</script>

它不会识别您列表中的所有内容,但您可以确保 PDF 和 .txt 文件与它们所说的一样。

关于javascript - 如何限制多扩展名的文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53082920/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com