clipboard复制图片
需求
上面给了一个任务,说要实现在浏览器一键拷贝图片到剪切板,并且可以粘贴到其他编辑窗口。
实现
首先感谢阮老师的文章,给我了很大的帮助https://www.ruanyifeng.com/blog/2021/01/clipboard-api.html
本实现有几个前提
1、网站必须是Https协议
2、复制到图片只能是png格式
具体原因在阮老师的文章有具体指出,本人不精,故不班门弄斧。
直接贴代码 引用Clipboard
组件
import Clipboard from 'clipboard'
复制图片方法
async copyImg(url) {
//请求图片数据
const data =await fetch(url)
//获取剪切板写入权限
navigator.permissions.query({name:'clipboard-write'}).then(async res=> {
if(res.state ==='granted'){
//获取流数据
const blob =await data.blob()
try{
//向剪切板写入流数据
await navigator.clipboard.write([
new ClipboardItem({
[blob.type]:blob
})
])
this.$message.success("复制成功")
}catch (e){
this.$message.error("复制失败!请打开图片后,单击右键复制图片。")
}
}
})
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!