gpt4 book ai didi

javascript - 具有多个输入的多个图像需要大小验证和文件预览

转载 作者:行者123 更新时间:2023-12-04 13:31:25 26 4
gpt4 key购买 nike

我的图像预览工作正常,但我想添加文件大小限制和图像类型验证...
** HTML

<form method="post" enctype="multipart/form-data" id="mainform">
Imagine 1:<br />
<input type="file" name="img1" id="img1" /><br />
<img id="preview-img1" />
<br /><br />
Imagine 2 :<br />
<input type="file" name="img2" id="img2" /><br />
<img id="preview-img2" />
<br />
Imagine 3 :<br />
<input type="file" name="img3" id="img3" /><br />
<img id="preview-img3" />
<br />
Imagine 4 :<br />
<input type="file" name="img4" id="img4" /><br />
<img id="preview-img4" />
<br />
Imagine 5 :<br />
<input type="file" name="img5" id="img5" /><br />
<img id="preview-img5" />
<br />
Imagine 6 :<br />
<input type="file" name="img6" id="img6" /><br />
<img id="preview-img6" />
<br />
Imagine 7 :<br />
<input type="file" name="img7" id="img7" /><br />
<img id="preview-img7" />
<br />
Imagine 8 :<br />
<input type="file" name="img8" id="img8" /><br />
<img id="preview-img8" />
<br />
Imagine 9 :<br />
<input type="file" name="img9" id="img9" /><br />
<img id="preview-img9" />
<br />
Imagine 10 :<br />
<input type="file" name="img10" id="img10" /><br />
<img id="preview-img10" />
</form>
js 代码适用于 IMG prev
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();

reader.onload = function (e) {
imgId = '#preview-' + $(input).attr('id');
$(imgId).attr('src', e.target.result);
};

reader.readAsDataURL(input.files[0]);
}
}

$("form#mainform input[type='file']").change(function () {
readURL(this);
});
目前,图像预览工作正常我想添加文件大小限制和图像类型验证,如
<script type="text/javascript">
function validateImage(id) {
var formData = new FormData();
var file = document.getElementById(id).files[0];
formData.append("Filedata", file);
var t = file.type.split("/").pop().toLowerCase();
if (t != "jpeg" && t != "jpg" && t != "png" && t != "bmp" && t != "gif") {
alert("Please select a valid image file");
document.getElementById(id).value = "";
return false;
}
if (file.size > 2000000) {
alert("Max Upload size is 2MB only");
document.getElementById(id).value = "";
return false;
} else {
var output = document.getElementById("output");
output.src = URL.createObjectURL(event.target.files[0]);
output.onload = function () {
URL.revokeObjectURL(output.src); // free memory
};
return true;
}
}
</script>
如何向此代码添加图像大小、类型和验证?

最佳答案

您可以创建自定义函数来从上传的文件加载图像,如下所示:

async function loadImage(uploadedFile) {
return new Promise((resolve) => {
let img = new Image();
img.onload = function () {
resolve({ width: img.width, height: img.height, src: img.src });
};
img.src = window.URL.createObjectURL(uploadedFile);
});
}
}
然后在另一个函数调用 loadImage()函数并执行所有验证,例如:
const checkImageSize (inputFile) => {   
return loadImage(inputFile).then(res => if (res.width <= 400 && res.height <= 200) {
console.log("Your image width is <= 400px and heigth <= 200px.")
}).catch(err => console.log(err));
}

关于javascript - 具有多个输入的多个图像需要大小验证和文件预览,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64863920/

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