今天在做复制到剪贴板功能时,遇到一些问题,经过查询,目前看来得到解决。

在我开发的APP中,我原本希望能将图片通过快捷键复制到系统剪贴板,然后可以在其他位置粘贴。

clipboard.writeImage(image[, type])

这个API要求第一个参数是NativeImage类型,但是NativeImage只能封装少数图片格式,所以在我的场景中没办法使用。

后来经过Google,发现了可以用clipboard.writeBuffer这个API。

具体的用法是这样

clipboard.writeBuffer('public.file-url', Buffer.from(`file://${encodeURI(filepath)}`, 'utf-8'));

需要对文件路径进行特殊字符encode,否则粘贴的时候会无法读取。

一次写入多个文件到剪贴板也是可以的,具体可以参考issue

上一篇 下一篇