• ajax实现图片上传与进度条


    这里使用的是bootstract的一个插件来实现

    详情请查看文档中的进度条 https://v3.bootcss.com/components/

    引入必要的文件

     <link href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" rel="stylesheet">
    <script src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
    

    页面结构

    <input type="file" id="Pic">
    <div style=" 600px;">
        <div class="progress">
            <div class="progress-bar progress-bar-striped active" role="progressbar" 
                 aria-valuemin="0" aria-valuemax="100" style=" 45%">
                <span class="sr-only">45% Complete</span>
            </div>
        </div>
    </div>
    

    js代码

    注意其中onprogress事件需要卸载send之上,否则不会响应

     let pic = document.getElementById('Pic');
        pic.onchange = function () {
            let fd = new FormData();
            let long = document.querySelector('.progress-bar')
            fd.append('pic', this.files[0]);
            
            let xhr = new XMLHttpRequest();
            xhr.open('post', 'http://127.0.0.1:8080/uploadHeadImg');
            xhr.upload.onprogress = function(e){ 
                long.style.width =  e.loaded/e.total*100+'%'
                console.log(e.loaded/e.total*100+'%')
            }
            xhr.send(fd);
            xhr.onreadystatechange = function () {
                if (xhr.readyState === 4 && xhr.status === 200) {
                    let response = xhr.responseText
                    if (xhr.getResponseHeader('Content-Type').indexOf('json') !== -1) {
                        response = JSON.parse(xhr.responseText)
                    }
                }
            }
           
        }
    
  • 相关阅读:
    flask全栈开发3 模板
    flask全栈开发2 URL与视图
    flask全栈开发1 课程简介
    微信公众号开发中遇到的问题总结
    python web学习路线
    内存数据库Memcached和redis基本使用
    2019年8月12号成长题目
    2019年8月10号成长题目
    2019年8月7号成长题目
    SpringCloud简介与5大常用组件
  • 原文地址:https://www.cnblogs.com/axu1997/p/12495500.html
Copyright © 2020-2023  润新知