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

  • 相关阅读:
    Linux Shell处理文本最常用的工具大盘点
    Linux GCC常用命令
    IT运维流程 — ITIL
    linux软件安装与卸载
    ifconfig无输出的解决办法
    du 命令秘籍
    linux主机名的修改
    输错密码?这个 sudo 会“嘲讽”你
    VS开发环境美化
    oracle +plsql装完省略号不能点
  • 原文地址:https://www.cnblogs.com/scnuwangjie/p/6054850.html
Copyright © 2011-2022 走看看