今天在做复制到剪贴板功能时,遇到一些问题,经过查询,目前看来得到解决。
在我开发的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