计科知识库
  • 源界面
  • 博客圈
  • 专题
  • 博友
  • 登录
  • 注册
源界面 源界面 12天前

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

html js

拖拽上传图片,可以多张同时上传
在HTML5中,使用DataTransfer对象中提供的方法,可以实现浏览器与其他应用程序之间文件的拖动。
MHPuhdcl
html部分:

  1. <div class="content">
  2. <form>
  3. <div class="drag" ondrop = "dropFile(event)" ondragenter = "return false" ondragover = "return false">
  4. <span class="spn-img" id="spn-img"></span>
  5. </div>
  6. </form>
  7. </div>

css部分:

  1. * {margin: 0; padding: 0;}
  2. .content {margin:50px auto; width: 600px; border: 1px solid #ccc; padding: 20px;}
  3. .content .drag {width: 596px; min-height: 300px; background: url(bg.png) no-repeat center center; border: 2px dashed #666;}
  4. .spn-img img {max-width: 596px;}

js部分

  1. var fileUploadPreview = function (aFile) {
  2. if (typeof FileReader == "undefined") {
  3. alert("浏览器不支持");
  4. }
  5. var i;
  6. for (i = 0; i < aFile.length; i++) {
  7. var tmp = aFile[i];
  8. var reader = new FileReader();
  9. reader.readAsDataURL(tmp);
  10. reader.onload = (function (f) {
  11. return function (e) {
  12. document.getElementById("spn-img").innerHTML += "<img src=\""+e.target.result+"\" title=\""+f.name+"\">";
  13. }
  14. })(tmp)
  15. }
  16. };
  17. var dropFile = function (e) {
  18. fileUploadPreview(e.dataTransfer.files);
  19. e.stopPropagation();
  20. e.preventDefault();
  21. };

演示地址:http://web.csroad.cn/2025/1208/

  • © 2025 源界面 源码为笔,博客为路,写就数字未来
  • 建议
  • 图片压缩
  • | 鄂ICP备14016484号-6

    鄂公网安备 42068402000140