简体   繁体   English

无法在 javascript 中验证多文件上传的文件大小

[英]Not able to validate file size for multi file upload in javascript

I have file upload action in an html page and I am able to validate for file size for single file upload using the below javascript.我在 html 页面中有文件上传操作,我能够使用以下 javascript 验证单个文件上传的文件大小。 How can I validate for multi file upload.如何验证多文件上传。

<input type="file" id="fileUpload" />
<input type="button" id="upload" value="Upload" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
    $("#upload").bind("click", function () {
        if (typeof ($("#fileUpload")[0].files) != "undefined") {
            var size = parseFloat($("#fileUpload")[0].files[0].size / (1024*1024)).toFixed(2);
            if(size < 5.00){
                alert("You are eligible to upload file");
            }
            else{
                alert("This File is too large");
            }
        } else {
            alert("This browser does not support HTML5.");
        }
    });
});
</script>

Here below I have input field for multi file upload下面我有用于多文件上传的输入字段

<input type="file" id="fileUpload" name="upload[]" multiple="multiple"/>
<input type="button"  id="upload" value="Upload"/>

Use each loop to get each file one by one and the validate the size as you are doing right now for first file.使用每个循环一个一个地获取每个文件,并像您现在对第一个文件所做的那样验证大小。

<script type="text/javascript">
$(function () {
    $("#upload").bind("click", function () {
        if (typeof ($("#fileUpload")[0].files) != "undefined") {
            var files = $("#fileUpload")[0].files;
            $.each(files, function (index,file) {
                var size = parseFloat(file.size / (1024 * 1024)).toFixed(2);
                if (size < 5.00) {
                    alert("You are eligible to upload file");
                }
                else {
                    alert("This File is too large");
                }
            });
        } else {
            alert("This browser does not support HTML5.");
        }
    });
});
</script>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM