gpt4 book ai didi

Javascript上传文件大小

转载 作者:行者123 更新时间:2023-11-30 15:30:43 26 4
gpt4 key购买 nike

我需要有关上传文件大小的帮助。我想添加最大 2MB 的文件。

我使用 javascript 代码,但我不擅长 javascript,所以如果你们可以将文件大小添加到我的代码中。谢谢。

var _validFileExtensions = [".jpg", ".jpeg", ".png"];    
function Validate(oForm) {
var arrInputs = oForm.getElementsByTagName("input");
for (var i = 0; i < arrInputs.length; i++) {
var oInput = arrInputs[i];
if (oInput.type == "file") {
var sFileName = oInput.value;
if (sFileName.length > 0) {
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("Sorry, " + sFileName + " is invalid, allowed extensions are: " + _validFileExtensions.join(", "));
return false;
}
}
}
}

return true;
}

最佳答案

这是我最后写的代码

它仍然可以通过多种方式进行优化,因此它可以进行任何性能、语义或重构编辑。我不是专家。

代码解释

  1. var _maxFilsize 中,您必须写入允许的最大文件大小(以字节为单位)。
  2. Function Validate 具有参数 oForm,它需要一个 HTML 对象,通过它可以搜索输入字段。
  3. 将所有input元素存储在一个数组中,arrInputs
  4. arrInputs[i].type的值以string形式存储在变量inputType
  5. if/else语句中比较inputType与不同输入类型的值。
  6. 当满足条件时,每个 block 返回一个函数来验证匹配的输入字段
  7. 函数 validateImage 接受一个参数,该参数只是输入字段的属性,其中包含用户选择的文件列表,arrInputs[i].files
  8. validateImage 函数中有一个 for 循环遍历文件列表并验证它们的 typesize,并返回 truefalse 取决于文件的有效性。

代码

var _maxFilesize = 2000000;// in bytes
function Validate(oForm) {
var arrInputs = oForm.getElementsByTagName("input");
var inputType;
var i = 0;
var arrLength = arrInputs.length;
for (i; i < arrLength; i++) {
inputType =arrInputs[i].type.toString();
if (inputType === "file"){
return validateImage(arrInputs[i].files);//calls function for validating image
}else if(inputType === "email"){
//call email validating function
}//add validation for more fields
}
}
function validateImage(file){
var j = 0;
var NumberOfFiles = file.length;
for(j; j< NumberOfFiles;j++){
if ((file[j].type === "image/jpeg" || file[j].type === "image/png")&& (file[j].size)<= _maxFilesize){
return true //or whatever you want to do here like calling a function to upadate view, or something
}
else{
return false //or whatever you want to do here like calling a function to upadate view, or something
}
}
}

关于Javascript上传文件大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42280758/

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