• js图片预览带进度条


    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            progress {
                width: 168px;
                height: 5px;
                color: #f00;
                background: #EFEFF4;
                border-radius: 0.1rem;
            }
    
            /* 表示总长度背景色 */
            progress::-webkit-progress-bar {
                background-color: #f2f2f2;
                border-radius: 0.2rem;
            }
    
            /* 表示已完成进度背景色 */
            progress::-webkit-progress-value {
                background: forestgreen;
                border-radius: 0.2rem;
            }
        </style>
    </head>
    <body>
    <input type="file" id="myFile"/>
    <div id="bar">
        上传进度:
        <progress id="pro" value="0"></progress>
    </div>
    <div>
        <img src="" alt="GG" id="myImg"/>
    </div>
    
    </body>
    <script src="../js/jquery.js"></script>
    <script>
    
        var myFile = document.getElementById("myFile");
        //绑定事件(ECMAScript6写法)
        myFile.addEventListener("change", () => {
            var file = myFile.files[0];
            //toDataURL(file);
            previewWithObjectURL(file);
        })
    
        //简单的图片预览建议使用第一种方式
        //URL方式(第一种方式)src = blob:http://localhost:8080/f720711f-57e2-428f-8a47-ec59e5dbbc10
        function previewWithObjectURL(file) {
            var url = URL.createObjectURL(file);
            var reader = new FileReader();
            reader.readAsDataURL(file);
            //请求完成后,显示图片
            reader.onloadend = function (event) {
                document.getElementById("myImg").src = url;
            }
            //上传过程中动态显示进度条
            reader.onprogress = function (event) {
                if (event.lengthComputable) {
                    document.getElementById("pro").value = event.loaded / event.total;
                }
            }
        }
    
        //DataURL(第二种方式)src = data image/jpeg;base64,/hihfejaojshf24ji3h53i
        function toDataURL(file) {
            var reader = new FileReader();
            reader.readAsDataURL(file);
            //请求完成后,显示图片
            reader.onloadend = function (event) {
                document.getElementById("myImg").src = event.target.result;
            }
            //上传过程中动态显示进度条
            reader.onprogress = function (event) {
                if (event.lengthComputable) {
                    document.getElementById("pro").value = event.loaded / event.total;
                }
            }
        }
    </script>
    </html>

  • 相关阅读:
    Java Review (十七、面向对象----枚举类)
    Java Review (十六、面向对象----Lambda 表达式)
    Java Review (十五、面向对象----内部类)
    Java Review (十四、面向对象----接口)
    Java Review (十三、面向对象----抽象类)
    Java Review (十二、面向对象----final 修饰符)
    Java Review (十一、面向对象----多态)
    Java Review (十、面向对象----继承)
    Java Review (九、面向对象----封装)
    Java Review (八、面向对象----成员变量和局部变量)
  • 原文地址:https://www.cnblogs.com/dzcici/p/9922796.html
Copyright © 2020-2023  润新知