zoukankan      html  css  js  c++  java
  • HTML5文件上传还有进度条

        以下是自学it网--中级班上课笔记

                网址:www.zixue.it

    需要在chrome,ff,IE10下运行

    html页面

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
    <title>HTML5 文件上传进度条</title>
    <meta charset="utf-8" />
    <meta name="description" content="" />
    <meta name="keywords" content="" />
    <script type="text/javascript">
    /*
    想得到传送文件的进度条
    1:要能把文件内容打包并发送  FormData对象
    2: 发送过程中,要能不断检测 已发送/全部 progress.onprogress
    */
    
    </script>
    <style type="text/css">
    #progress{
    border: 1px solid blue;
    500px;
    height:20px;
    }
    
    #bar {
    background:green;
    height:20px;
    0%;
    }
    
    </style>
    </head>
        <body>
            <h1>在chrome,ff,IE10运行</h1>
            <form>
                <input type="file" name="pic" /><br />
            </form>
            <div id="progress"><div id="bar"></div></div>
        </body>
        <script>
            // 负责ajax发送数据
            function up(fd) {
                var xhr = new XMLHttpRequest();
                xhr.open('POST','upfile.php',true); // 异步传输
    
                // xhr.upload 这是html5新增的api,储存了上传过程中的信息
                xhr.upload.onprogress = function (ev) {
                    var percent = 0;
                    if(ev.lengthComputable) {
                        percent = 100 * ev.loaded/ev.total;
                        //document.getElementById('progress').innerHTML = percent;
                        document.getElementById('bar').style.width = percent + '%';
                    }
                }
    
                xhr.send(fd);
            }
    
    
            document.getElementsByTagName('input')[0].onchange = function() {
                //alert('你选择文件了');
                //alert(this.files[0]); // 文件对象,html5新增的api
    
                var fd = new FormData(); // html5新增的对象,可以包装字符,二进制信息
                fd.append(this.name,this.files[0]);
    
                up(fd);
    
            }
        </script>
    </html>


    upfile.php页面

    echo move_uploaded_file($_FILES['pic']['tmp_name'],'./upload/' . $_FILES['pic']['name']) ? 'OK':'fail';
    


    如图所示:

  • 相关阅读:
    Flex 加载资源方式
    java在linux系统下开机启动无法使用sudo命令的原因
    Android SDK 1.5中文版 (Application基础—5)
    还原ORACLE DUMP 的值
    JAVA操作windows共享目录
    [C++] 解释一下m_pfnCreateObject
    Android SDK 1.5中文版 (Application基础—4)
    O7_DICTIONARY_ACCESSIBILITY&REMOTE_OS_AUTHENT
    Android SDK 1.5中文版 (Application基础—3)
    Android SDK 1.5中文版 (Application基础—2)
  • 原文地址:https://www.cnblogs.com/snake-hand/p/3143070.html
Copyright © 2011-2022 走看看