读取粘贴版
相关模块clipboard
const { clipboard } = require('electron')
// or
import clipboard from 'electron'
相关API
// 读取文本
clipboard.readText()
// html
clipboard.readHTML()
// 图片
clipboard.readImage()
- 读取图片
const img = clipboard.readImage()
const imgUrl = img.toDataURL()
cont imgDom = document.createElement('img')
imgDom.src = imgUrl
readImage
clipboard.readImage
返回一个nativeImage
的实例,此实例有toDataURL
方法,该方法返回图像的base64编码的数据字符串
开发者可以直接把此字符串设置到图片标签的src属性上,即可在网页中显示图片。
如果你通过截图工具已经截取了图像数据到剪切板,那么执行上面代码,你就会在窗口中看到你截取的图片。
但如果你是在系统文件夹里复制了一个图片文件,执行上面代码,你会看到一个加载失败的图片,因为此时剪切板里是一个文件而不是真正的图像数据(你可以通过nativeImage实例的isEmpty方法来判断nativeImage实例是否包含图像数据)。
如果你希望得到这个文件的路径,可以使用如下方法(这是一个Electron未公开的技术):
// Win操作系统下
let filePath = clipboard.readBuffer('FileNameW').toString('ucs2')
filePath = filePath.replace(RegExp(String.fromCharCode(0), 'g'), '');
//Mac操作系统下
var filePath = clipboard.read('public.file-url').replace('file://', '');