当我尝试从剪贴板读取图像时,Electron返回空的NativeImage

时间:2019-08-01 07:10:08

标签: javascript node.js electron

我从Electron的文档中编写了默认代码,但是电子返回了空的NativeImage对象。

  const { clipboard } = require("electron")
  console.log(clipboard.readImage("clipboard"))

该如何粘贴剪贴板中的图像?

1 个答案:

答案 0 :(得分:1)

由于某种原因,无论剪贴板中是否有图像,console.log似乎总是显示NativeImage 对象。

尝试更进一步,例如将NativeImage对象转换为数据URL字符串;另外,您应该可以使用clipboard.availableFormats方法预先检查剪贴板中是否包含图像。

以下代码段在macOS上对我有效:

const { clipboard } = require("electron");

let availableFormats = clipboard.availableFormats("clipboard");
if (availableFormats.includes("image/png") || availableFormats.includes("image/jpeg"))
{
    console.log(clipboard.readImage("clipboard").toDataURL());
}
else
{
    console.log("No image in clipboard");
}