zoukankan      html  css  js  c++  java
  • html5实现拖拽文件上传

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

                网址:www.zixue.it

    html文件

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN">
    <head>
    <title>HTML5拖拽上传</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="description" content="" />
    <meta name="keywords" content="" />
    <style type="text/css">
    
    #dropzone{
    300px;
    height:300px;
    border:2px dashed gray;
    }
    
    #dropzone.over {
    border:2px dashed orange;
    }
    
    </style>
    </head>
        <body>
            <h1>拖拽上传</h1>
            <div id="dropzone"></div>
        </body>
    
        <script type="text/javascript">
    
        // 负责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);
        }
    
    
    var dz = document.getElementById('dropzone');
    dz.ondragover = function (ev) {
        this.className = 'over';
        return false;
    }
    
    dz.ondragleave = function (){
        this.className = '';
    }
    
    dz.ondrop = function(ev) {
        //console.log(ev.dataTransfer.files[0]);
    
        var fd = new FormData();
        fd.append('pic',ev.dataTransfer.files[0]);
    
        up(fd);
    
        return false; // 拦截拖放的正常行为
    }
    
    </script>
    </html>

    upfile.php

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

    如图:


  • 相关阅读:
    ES6解构赋值
    ES6中的Symbol类型
    两个列表合并成字典
    python关于列表转为字典的两个小方法
    break、continue和return的使用
    进度条的实现
    md5加密
    dict字典方法
    用户相关的文件、解析以及命令的使用
    linux的根目录
  • 原文地址:https://www.cnblogs.com/snake-hand/p/3142980.html
Copyright © 2011-2022 走看看