gpt4 book ai didi

javascript - jQuery如何在不检查扩展名的情况下检查上传的文件是否是图像?

转载 作者:行者123 更新时间:2023-12-03 21:39:27 25 4
gpt4 key购买 nike

这里是新手。问题是我目前已经编写了一种方法来检查上传的文件大小和扩展名以验证它。然而,检查扩展并不是一个解决方案,因为这种验证可能会导致很多问题。我想做的是检查实际的文件类型并验证它而不使用扩展方法。我尝试过使用 jQuery file validator但无济于事...这是我当前代码的片段:

<input type='file' id='imageLoader' name='imageLoader' accept="image/*" data-type='image' />

脚本:

App.Dispatcher.on("uploadpic", function() {         
$(":file").change(function() {
if (this.files && this.files[0] && this.files[0].name.match(/\.(jpg|jpeg|png|gif)$/) ) {
if(this.files[0].size>1048576) {
alert('File size is larger than 1MB!');
}
else {
var reader = new FileReader();
reader.onload = imageIsLoaded;
reader.readAsDataURL(this.files[0]);
}
} else alert('This is not an image file!');
});
function imageIsLoaded(e) {
result = e.target.result;
$('#image').attr('src', result);
};
});

一旦上传输入发生更改,就会调用它,并在验证后上传并显示图像。目前,我只关心验证,任何帮助或想法将不胜感激!

最佳答案

尝试这样的事情:

JavaScript

const file = this.files[0];
const fileType = file['type'];
const validImageTypes = ['image/gif', 'image/jpeg', 'image/png'];
if (!validImageTypes.includes(fileType)) {
// invalid file type code goes here.
}

jQuery

var file = this.files[0];
var fileType = file["type"];
var validImageTypes = ["image/gif", "image/jpeg", "image/png"];
if ($.inArray(fileType, validImageTypes) < 0) {
// invalid file type code goes here.
}

关于javascript - jQuery如何在不检查扩展名的情况下检查上传的文件是否是图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29805909/

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