zoukankan      html  css  js  c++  java
  • 从操作系统拖拽图片到指定区域进行预览

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            #demo2 {
                margin: 20px;
            }
            #demo2 .preview {
                height: 300px;
                background: #ddd;
            }
            #demo2 li {
                float: left;
                margin-left: 40px;
            }
            #demo2 img {
                max-height: 150px;
                 auto;
            }
        </style>
    
    </head>
    <body>
    <div id="demo2">
        <h3>从文件夹中拖拽图片到下面的区域进行预览</h3>
        <ul class="preview"></ul>
    </div> <!-- demo2 -->
    
    <script>
        (function (w) {
            var doc = w.document;
    
            var dnd = {
                init: function () {
                    var me = this;
                    var preview = doc.querySelector('#demo2 .preview');
    
                    preview.addEventListener('dragover', function (e) {
                        e.preventDefault();
                    }, false);
    
                    preview.addEventListener('drop', function (e) {
                        // 操作系统拖放文件到浏览器需要取消默认行为
                        e.preventDefault();
    
                        [].forEach.call(e.dataTransfer.files, function (file) {
                            if (file && file.type.match('image.*')) {
                                var reader = new FileReader();
    
                                reader.onload = function (e) {
                                    var img = doc.createElement('img');
                                    img.src = e.target.result;
                                    var li = doc.createElement('li');
                                    li.appendChild(img);
                                    preview.appendChild(li);
                                };
    
                                reader.readAsDataURL(file);
                            }
                        });
                    }, false);
                }
    
            };
    
            dnd.init();
        }(window));
    </script>
    </body>
    </html>

    参考来源 https://segmentfault.com/a/1190000002810962

  • 相关阅读:
    java积累
    mybatis
    Netty
    springcloud相关笔记整理
    java基础总结笔记
    读书笔记-RocketMQ实战与原理解析
    读书笔记-kafka权威指南
    读书笔记-rabbitmq实战指南
    Centos 部署ServiceDesk
    IDEA将新建项目上传至GitLab
  • 原文地址:https://www.cnblogs.com/scnuwangjie/p/6054850.html
Copyright © 2011-2022 走看看