js 粘贴图片的应用(clipboardData)

本文介绍了在JavaScript中利用clipboardData对象处理从谷歌Chrome浏览器粘贴图片的场景,探讨了在Safari浏览器遇到的问题及解决思路。通过将base64数据转换为blob对象,再进一步转化为文件对象,从而实现图片的上传。在Safari中,粘贴的图片会直接以img标签形式添加到页面,提供了一种不同的处理方式。
摘要由CSDN通过智能技术生成

clipboardData

起因:应项目需求,需要用某个工具截图然后粘贴上传到后台的功能!于是着手搜查资料,最终的结果就是找到了这个对象clipboardData,然后开始着手!

一、谷歌chrome浏览器

相信这个也是很多开发者都在用的浏览器,当然也是尝试的开始。整个过程是这样的

1)使用微信截图
2)`'⌘+v, ctrl+v'`在这个页面的随意位置粘贴
3)执行上传图片到后台的流程(产生loading状态)

document.body.addEventListener('paste', files, false)
//files是一个方法,里面的参数为event
function files(event) {
    //谷歌浏览器的的粘贴文件在这个对象下面
    if (event.clipboardData || event.originalEvent) {
        var clipboardData = (event.clipboardData || event.originalEvent.clipboardData);
        
        //获取文件的属性就在这里获取,打印该对象可以看到相关属性,结果的操作就在items里面,所以需要循环items
        let fileObj = null
        for (var i = 0; i < len; i++) {
              // console.log(items[i]);
              if (items[i].type.indexOf("image
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值