使用HTML5的拖放功能实现将本地的图片的拖放到网上上

原文地址

https://github.com/visugar/FrontEnd-examples/blob/master/08H5%E6%8B%96%E6%94%BEAPI/drag02.html

代码

HTML

<h3>将图片拖入下面内容框中</h3>
    <hr>
    <div class="img-box">
        <div class="content" id="content"></div>
        <span class="btn" id="upload" onclick="upload()">上传图片</span>
    </div>

CSS

.img-box {
    min-width: 500px;
    min-height: 500px;
}

.img-box .content {
    width: 100%;
    min-height: 450px;
    border: 1px dotted orangered;
    border-radius: 5px;
}

.img-box .btn {
    display: block;
    width: 100px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    background: orangered;
    border-radius: 3px;
    color: #fff;
    margin: 5px 0;
    font-size: 14px;
    font-family: "Microsoft YaHei";
    box-shadow: 0 0 2px orange;
    cursor: pointer;
}

JS

window.onload = function() {
    var content = document.getElementById("content");
    // 阻止document对象的默认事件
    document.ondragover = function(e) {
        e.preventDefault();
    };
    // 阻止照片在新窗口中打开
    document.ondrop = function(e) {
        e.preventDefault();
    }
    content.ondragover = function(e) {
        e.preventDefault();
    }
    content.ondrop = function(e) {
        // 获取图片路径
        var imgsFile = e.dataTransfer.files[0];
        //创建一个fileReader对象的实例
        var fs = new FileReader();
        fs.readAsDataURL(imgsFile);
        // 当图片资源加载完成后,将图片显示在content中
        fs.onload = function(e) {
            // 创建图片实例
            var img = new Image();
            img.src = fs.result;
            content.appendChild(img);
        }
    }
};

function upload() {
    var aImg = document.getElementsByTagName('img') || [];
    if (aImg.length <= 0) {
        alert('请将图片拖入内容区!')
    } else {
        for (var i = 0; i < aImg.length; i++) {
            console.log(aImg[i].getAttribute("src"));
        }
    }

}

结果

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前端知识体系http://www.cnblogs.com/sb19871023/p/3894452.html 前端...
    秋风喵阅读 14,303评论 7 163
  • 你以为你是谁,你只是个赌徒。 01 十赌九输,是人生常态。我们都懂,就是赌性不改。 幻想成功是赌徒的特性,不断拿筹...
    瑜呀阅读 2,662评论 0 1
  • 我喜欢学习语言,喜欢烘焙,喜欢写东西,喜欢旅行,喜欢看书。。。。。。 以上是我个人认为我自己喜欢的比较有意义的事情...
    爱写字的sara阅读 3,414评论 2 3
  • 端午在家,整理了一下读书笔记,发现今年1-5月份,读了32本书,读书笔记也超过1万字了,于是从中选出9本书,和同好...
    东海一族阅读 4,400评论 13 13
  • 今天早上刷牙时,脑子里突然闪现一个想法:如果明天世界末日,我还会刷牙吗?(这想法也是可怕)。 ---反正我是那种不...
    善良是一种修行阅读 2,372评论 1 1