美文网首页1
点击或拖拽文件到此处

点击或拖拽文件到此处

作者: 哼_ | 来源:发表于2017-07-17 20:43 被阅读14次
<!DOCTYPE html>
<html>
<head>
    <title>点击或拖拽文件到此处</title>
    <meta charset="utf-8">
    <style type="text/css">
        .box{
            height: 80px;
            width: 400px;
            border:1px solid ;
            margin: 0 auto;
            border-radius: 5px;
            box-shadow: 0 -2px 2px #000;
            font-size: 40px;
            text-align: center;
        }
    </style>
</head>
<body>
    <div class="box">点击或拖拽文件到此处</div>
    <input type="file" id="myFile" style="display: none;" name="" multiple>
</body>
<script type="text/javascript">
    var box = document.querySelector(".box");
    var input = document.querySelector("#myFile");
    //点击事件  激活input
    box.onclick = function(){
        input.click();  //点击box,触发的是input的点击事件
    }
    input.onchange = function(){
        var files = this.files;
        getFile(files);//在input的onchange事件中,得到这个选中的文件
    }
    box.ondragover = function(e){
        e.preventDefault();   //阻止浏览器的默认事件  ondrop才能被触发
    }
    box.ondrop = function(e){
          //ondrop代表在目标元素上放手的事件
        e.preventDefault();
        var files = e.dataTransfer.files;
        getFile(files);//两种触发方式  老师说
    }
    function getFile(files){
        if(files.length>0){
            for(var i=0;i<files.length;i++){
                var file = files[i];
                console.log(file.type);   //测试选中文件类型
                //判断如果传入的是img类型
                if(file.type.indexOf("image/")!=-1){
                    var fr = new FileReader();
                    fr.readAsDataURL(file);
                    fr.onload = function(){
                        var img = new Image();
                        img.src = this.result;
                        document.body.appendChild(img); 
                    }
                }
                //判断如果是text/html类型的话  这个写的不正确,输出的格式不正确   是base64 格式的 
                //应该通过某种方式改成html格式,还没学,学了过来改一下
                if(file.type.indexOf("text/")!=-1){
                    var fr = new FileReader();
                    fr.readAsDataURL(file);
                    fr.onload = function(){
                        var Odiv = document.createElement("div")
                        Odiv.innerHTML = this.result;
                        document.body.appendChild(Odiv);    
                    }
                }
            }
        }
    }
</script>
</html>

相关文章

  • 点击或拖拽文件到此处

  • 通过Xcode安装ipa

    Window=>Devices and Simulators。 将ipa文件拖拽到INSTALLED APPS里或...

  • 活动库

    应用查询:点击此处查看 qq软件库:点击此处 防沉迷教程:点击此处进去群文件取

  • vue后台系统

    git地址(zip下载 cnpm install npm run dev) 文本编辑器、文件点击或拖拽上传、cha...

  • Kettle学习02:变量化文本文件路径

    点击“核心对象”,在“输入”文件夹中,将“文本文件输入”拖拽到画布中。 双击“文本文件输入”对象,鼠标移动到“文件...

  • 防沉迷和云电脑教程

    进群去做文件取:点击此处取 云电脑资格抽取进群抽:点击此处

  • 禁止用户拖拽图片或文件到窗口

    在做文件上传功能的时候,如果没有做响应用户拖拽文件的功能的话,建议先禁用拖拽功能。 实现代码: jquery版本(...

  • java调试

    双击断点,程序运行到此处停止 点击此处 进入调试视图 点击 step over或f6

  • 添加插件

    生成Podfile 1.打开终端2.输入命令:cd (此处有一个空格)3.将项目文件夹拖拽到终端窗口,项目目录自动...

  • JavaScript 实现一个文件拖拽 demo

    现在在很多网页上上传文件时,都会有一个拖拽上传的功能,而不需要我们点击 input 控件再选择文件。那么这个拖拽的...

网友评论

    本文标题:点击或拖拽文件到此处

    本文链接:https://www.haomeiwen.com/subject/qfvqkxtx.html