繁体   English   中英

如何通过一个上传按钮上传多个文件

[英]How to upload multiple files through one upload button

当我执行它时,并非所有文件都被上传,而只是其中一个。

JavaScript的

function upload() {
    document.getElementById("uploading").innerHTML="uploading....";
    var myfile=document.getElementById("fileinput").files[0];

    //alert(myfile.size);
    var r = new FileReader();

    r.onload = function(e) { 
        var contents = e.target.result;

        parseContents(contents);
        //document.getElementById("cont").innerHTML=fileContent;

        document.getElementById("uploading").innerHTML="<h3>File uploaded: "+myfile.name;
    }

    r.readAsText(myfile);
}

HTML

<body onload="initialize()">
    <div id="container1"><h>MY TRANSIT PLANNER</h></div>
    <h3 style="text-decoration:underline;">choose a file for input:</h3>
    <input type="file" id="fileinput" multiple="multiple"onchange="upload()"/>
    <br>
    <div style="color: black" id="uploading"></div>
    <script src="https://maps.googleapis.com/maps/api/js?"async defer></script>
    <input type="button" id="btn-sgtd" type="text" value="SAVE GTD" onclick="writetofile()"/>
    <h3 style="text-decoration:underline;">Choose files to Segment: </h3>
    <form action="files.php" method="POST" enctype="multipart/form-data">
        <input type="file" name="my_file[]" multiple="multiple"><br>
        <br>
        <input type="submit" value="SEGMENT" class="button"><br>
    </form>
    <div id="map"></div>
</body>

你应该做循环

   function upload() {


    for (var i = 0; i < document.getElementById("fileinput").files.length; i++) 
        {                           
                document.getElementById("uploading").innerHTML="uploading....";
                var myfile=document.getElementById("fileinput").files[i];
                //alert(myfile.size);
                var r = new FileReader();
                r.onload = function(e) 
                { 
                    var contents = e.target.result;

                    parseContents(contents);
                    //document.getElementById("cont").innerHTML=fileContent;

                    document.getElementById("uploading").innerHTML="<h3>File uploaded: "+myfile.name;
                }

                r.readAsText(myfile);
        }
}

试试这会对你有所帮助

    function upload() {
        document.getElementById("uploading").innerHTML="uploading....";
        var myfile=document.getElementById("fileinput").files[0];

        //alert(myfile.size);
        var r = new FileReader();

        r.onload = function(e) {

        if(!e.target.files) return;

        var files = e.target.files;
        for(var i=0; i < files.length; i++) {
            var f = files[i];
             document.getElementById("uploading").innerHTML="<h3>File uploaded: "+f;
        }
    }

暂无
暂无

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

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