A javascript upload progress display in HTML5

后端 未结 1 784
离开以前
离开以前 2021-01-15 03:48

I am very new to js and html programming. I am using following code to make a progress-bar which displays file upload progress. But it is not working on tryit editor

相关标签:
1条回答
  • 2021-01-15 04:47

    You need to add reference of JQuery in your head before writing any JavaScript. Please see correct version below.

    <!DOCTYPE html>
    <head>
    <meta charset="UTF-8">
    <style>
    .progress-wrapper {
        width:100%;
    }
    .progress-wrapper .progress {
        background-color:green;
        width:0%;
        padding:5px 0px 5px 0px;
    }
    </style>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js"></script>
    <script>
    function postFile() {
        var formdata = new FormData();
    
        formdata.append('file1', $('#file1')[0].files[0]);
    
        var request = new XMLHttpRequest();
    
        request.upload.addEventListener('progress', function (e) {
            var file1Size = $('#file1')[0].files[0].size;
    
            if (e.loaded <= file1Size) {
                var percent = Math.round(e.loaded / file1Size * 100);
                $('#progress-bar-file1').width(percent + '%').html(percent + '%');
            } 
    
            if(e.loaded == e.total){
                $('#progress-bar-file1').width(100 + '%').html(100 + '%');
            }
        });   
    
        request.open('post', '/echo/html/');
        request.timeout = 45000;
        request.send(formdata);
    }
    </script>
    </head>
    <form id="form1">
        <input id="file1" type="file" />
        <div class="progress-wrapper">
            <div id="progress-bar-file1" class="progress"></div>
        </div>
        <button type="button" onclick="postFile()">Upload File</button>
    </form>
    </html>
    
    0 讨论(0)
提交回复
热议问题