• AJAX-----15HTML5实现进度条上传


    目的当然还是为了提高用户的体验度嘛,,

    废话不多说走码。。。。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            #jdt{ width:300px; height:25px; }
            progress{ display:none;  width:200px; height:25px;  float:left;  }
            #sd{ float:left;  }        
        </style>
        <script>
            function selefile(){
                //创建FormData对象
                var fd = new FormData();
                //获取文件对象
                var pic = document.getElementsByTagName('input')[0].files[0];
                //把文件内容追加到表单数据里
                fd.append('pic',pic);
                //创建xmlhttprequest对象
                var xhr = new XMLHttpRequest();
                //打开
                xhr.open('POST','12.php',true);
                //利用xhr2的新标准,为上传过程写自定义一个函数
                xhr.upload.onprogress = function(event){
                     if(event.lengthComputable){
                         //获取他的百分比
                         var bfb = 100 * event.loaded / event.total;
                         var bfbtwo = Math.ceil(bfb);
                         var pro = document.getElementsByTagName('progress')[0];
                         pro.style.display = 'block';
                         pro.setAttribute('value',bfbtwo);
                         var sd = document.getElementById('sd');
                         sd.innerHTML = bfbtwo +'%';
                     }
                }
                //接收返回值
                xhr.onreadystatechange = function(){
                    if(this.readyState == 4){
                        document.getElementById('desc').innerHTML = this.responseText;
                    }
                }
                //发送fd给后端
                xhr.send(fd);
            }
        </script>
    </head>
    <body>
        
        <div id="jdt"><progress max="100" value=""></progress><span id="sd"><span></div>
        <input type="file" name="pic" onchange="selefile();" >
        <div id="desc"></div>
    </body>
    </html>

    <?php
        //print_r($_FILES);
    
        if(empty($_FILES)){
            exit('No file');
        }
        
        if($_FILES['pic']['error'] != 0){
            exit('no file');
        }
        $picaddress = 'upload/'.time().rand();
        move_uploaded_file($_FILES['pic']['tmp_name'],$picaddress.'.jpg');
        echo 'OK';

    效果如下所示:

  • 相关阅读:
    百度文库:网站镜像站点解决方案
    百度文库:WEB网站架构分析HTML静态化
    61条面向对象设计的经验原则
    oracle 定时任务例子【项目例子】
    javascript的事件机制(百度文库)
    【转】Oracle回收站(recyclebin)
    java十大低级错误和常见注意点
    JAVA UUID 生成
    Oracle in和exists效率问题分析
    http的长连接和短连接(数据库也一样)
  • 原文地址:https://www.cnblogs.com/leigood/p/6045474.html
Copyright © 2020-2023  润新知