首页 > 软件开发 > CSS >

HTML5&CSS3:[3]拖拽图片到浏览器并显示

来源:互联网 2023-03-16 19:17:34 版权归原作者所有,如有侵权,请联系我们

利用html5的 File API 让浏览器可以获得本地的文件信息,下面演示把图片文件拖进区域并显示图片的例子3qk办公区 - 实用经验教程分享!

方法/步骤

  • 1

    要判断浏览器是否支持html5的file api,可以加上如下代码3qk办公区 - 实用经验教程分享!

    if (window.File && window.FileReader && window.FileList && window.Blob) {3qk办公区 - 实用经验教程分享!

    } else {3qk办公区 - 实用经验教程分享!

    alert('The File APIs are not fully supported in this browser.');3qk办公区 - 实用经验教程分享!

    }3qk办公区 - 实用经验教程分享!

    如果不支持,打开页面会有alert信息3qk办公区 - 实用经验教程分享!

  • 2

    新建一个html页面,一个div作为文件拖入的区域3qk办公区 - 实用经验教程分享!

    HTML5&CSS3:[3]拖拽图片到浏览器并显示3qk办公区 - 实用经验教程分享!

    HTML5&CSS3:[3]拖拽图片到浏览器并显示3qk办公区 - 实用经验教程分享!

  • 3

    给div加上dragover和drop事件3qk办公区 - 实用经验教程分享!

    dragover不需要实现什么功能,它要做的是阻止冒泡,如果不加,drop无效3qk办公区 - 实用经验教程分享!

    HTML5&CSS3:[3]拖拽图片到浏览器并显示3qk办公区 - 实用经验教程分享!

  • 4

    接下来获得文件的信息,这里用到了dataTransfer3qk办公区 - 实用经验教程分享!

    var files = evt.dataTransfer.files;3qk办公区 - 实用经验教程分享!

    如果在files上加断点,就能看到你拖进来的文件的信息3qk办公区 - 实用经验教程分享!

    HTML5&CSS3:[3]拖拽图片到浏览器并显示3qk办公区 - 实用经验教程分享!

  • 4本页面未经许可获取自百度经验
  • 5

    遍历文件,FileReader读取,并显示。3qk办公区 - 实用经验教程分享!

    主要代码如下,list为显示的容器3qk办公区 - 实用经验教程分享!

    var reader = new FileReader();3qk办公区 - 实用经验教程分享!

    reader.onload = (function(theFile) {3qk办公区 - 实用经验教程分享!

    return function(e) {3qk办公区 - 实用经验教程分享!

    var span = document.createElement('span');3qk办公区 - 实用经验教程分享!

    span.innerHTML = ['img src="', e.target.result,3qk办公区 - 实用经验教程分享!

    '" title="', theFile.name, '"/>'].join('');3qk办公区 - 实用经验教程分享!

    document.getElementById('list').insertBefore(span, null);3qk办公区 - 实用经验教程分享!

    };3qk办公区 - 实用经验教程分享!

    })(f);3qk办公区 - 实用经验教程分享!

    reader.readAsDataURL(f);3qk办公区 - 实用经验教程分享!

    HTML5&CSS3:[3]拖拽图片到浏览器并显示3qk办公区 - 实用经验教程分享!

  • 6

    效果如下图3qk办公区 - 实用经验教程分享!

    如果要现实缩略图,只要修改插入的img的样式3qk办公区 - 实用经验教程分享!

    HTML5&CSS3:[3]拖拽图片到浏览器并显示3qk办公区 - 实用经验教程分享!

  • 注意事项

    • 更多html5信息请查询相关主页
    如何实现html5拖...

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!3qk办公区 - 实用经验教程分享!


    标签: CSS

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号