我正在使用从这里获得的这个 javascript,它可以完美地满足我的需要。
var _validFileExtensions = [".jpg", ".jpeg"];
function File_Validator(theForm){
var arrInputs = theForm.getElementsByTagName("input");
for (var i = 0; i < arrInputs.length; i++) {
var oInput = arrInputs[i];
if (oInput.type == "file") {
var sFileName = oInput.value;
var blnValid = false;
for (var j = 0; j < _validFileExtensions.length; j++) {
var sCurExtension = _validFileExtensions[j];
if (sFileName.substr(sFileName.length - sCurExtension.length, sCurExtension.length).toLowerCase() == sCurExtension.toLowerCase()) {
blnValid = true;
break;
}
}
if (!blnValid) {
alert("Invalid image file type!");
return false;
}
}
}
return true;
}
现在,我想知道,此外,如果文件大于 500kb,我是否可以检查文件大小并失败 -> 在按下提交/上传按钮之前全部失败?
编辑
在查看了 PHPMyCoder 的建议后,我最终使用以下 javascript 代码解决了问题:
<script language='JavaScript'>
function checkFileSize(inputFile) {
var max = 3 * 512 * 512; // 786MB
if (inputFile.files && inputFile.files[0].size > max) {
alert("File too large."); // Do your thing to handle the error.
inputFile.value = null; // Clear the field.
}
}
</script>
这将检查文件大小,并在提交表单之前提醒用户。