html5拖拽文件上传

利用H5的拖曳事件,可以不用表单就完成异步文件上传,示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>h5拖拽异步上传</title>
</head>
<style>
    #uuz{
        width: 200px;
        height: 200px;
        border: 1px dashed orange;
        text-align: center;
    }
</style>
<body>
    <div id="uuz">
        
    </div>
</body>
<script>
    window.onload = function(){
        var uuz = document.getElementById('uuz');

        uuz.ondragenter = function(e){
            e.preventDefault();
        }

        uuz.ondragover = function(e){
            e.preventDefault();
            this.innerHTML = '请松开';
        }

        uuz.ondragleave = function(e){
            e.preventDefault();
            this.innerHTML = '请拖入要上传的文件';
        }

        uuz.ondrop = function(e){
            e.preventDefault();

            var upfile = e.dataTransfer.files[0]; //获取要上传的文件对象(可以上传多个)
            var formdata = new FormData();
            var xhr = new XMLHttpRequest();

            formdata.append('upfile', upfile); //设置服务器端接收的name为upfile
            xhr.open('post','1.php'); //以post方式发送到1.php

            xhr.onreadystatechange = function(){
                if(this.status==200){ //上传成功
                    alert('上传成功');
                }else{
                    alert('上传失败~');
                }
            }

            xhr.send(formdata);
        }
    }
</script>
</html>

1.php:

<?php  
  
move_uploaded_file($_FILES['upfile']['tmp_name'], 'test.js');  
  
?>  
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,460评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,733评论 4 61
  • 有一些场景仿佛是曾经有过的经历,有些人仿佛是相识很久的旧识,有些事仿佛总会避开了你的期许,有些结果仿佛总会那么不尽如意。
    胡言max阅读 1,648评论 0 0
  • 5.2) -1
    ssccyykkzzhh阅读 721评论 0 0

友情链接更多精彩内容