Javascript上传文件大小

时间:2017-02-16 17:22:57

标签: javascript file upload size

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

我使用javascript代码,我对javascript不好,所以如果你们可以在我的代码中添加文件大小。感谢。

undefined === NS.MODULE

1 个答案:

答案 0 :(得分:2)

这是我最后编写的代码

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

代码说明

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

    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
            }
        }
    }