首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >拖拽上传图片,可以多张同时上传

拖拽上传图片,可以多张同时上传

原创
作者头像
愤怒的小鸟
修改2020-12-14 15:33:04
修改2020-12-14 15:33:04
3.9K00
代码可运行
举报
文章被收录于专栏:web shareweb share
运行总次数:0
代码可运行

在HTML5中,使用DataTransfer对象中提供的方法,可以实现浏览器与其他应用程序之间文件的拖动。

html部分:

代码语言:javascript
代码运行次数:0
运行
复制
<div class="content">
  <form>
    <div class="drag" ondrop = "dropFile(event)" ondragenter = "return false" ondragover = "return false">
      <span class="spn-img" id="spn-img"></span>
    </div>
  </form>
</div>

css部分:

代码语言:javascript
代码运行次数:0
运行
复制
* {margin: 0; padding: 0;}
.content {margin:50px auto; width: 600px; border: 1px solid #ccc; padding: 20px;}
.content .drag {width: 596px; min-height: 300px; background: url(bg.png) no-repeat center center; border: 2px dashed #666;}
.spn-img img {max-width: 596px;}

js部分:

代码语言:javascript
代码运行次数:0
运行
复制
var fileUploadPreview = function (aFile) {
  if (typeof FileReader == "undefined") {
    alert("浏览器不支持");
  }
  var i;
  for (i = 0; i < aFile.length; i++) {
    var tmp = aFile[i];
    var reader = new FileReader();
    reader.readAsDataURL(tmp);
    reader.onload = (function (f) {
      return function (e) {
        document.getElementById("spn-img").innerHTML += "<img src=\""+e.target.result+"\" title=\""+f.name+"\">";
      }
    })(tmp)
  }
};

var dropFile = function (e) {
  fileUploadPreview(e.dataTransfer.files);
  e.stopPropagation();
  e.preventDefault();
};

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档