当我 "copy" 一个文件时,我在哪里检索文件名和路径?
When I "copy" a file where do I retrieve the file name and path?
我目前正在开发 react/electron
应用程序,我希望能够使用 ctrl+c
或右键单击复制来复制应用程序外部的文件(可以是任何文件类型)。
如何在我的应用程序中检索该文件的名称和路径?我已经尝试了 navigator.clipboard.readText()
和 .read()
,但没有成功。
不幸的是,在 Electron 中,剪贴板是 still highly platform-dependant requiring different code depending on which platform you're running. Here's a snippet for a single file to get you started. If you need access to multiple files, see this snippet。
const { clipboard } = require('electron')
let text = null
if(process.platform === 'darwin') { // MacOS
text = clipboard.read('public.file-url')
} else { // Windows
text = clipboard.readBuffer('FileNameW').toString('ucs2')
} // TODO: Linux
console.log(text);
根据您的演示文稿,您可能需要转换为人类可读的格式(例如 file:///
与 C:\
等)
我目前正在开发 react/electron
应用程序,我希望能够使用 ctrl+c
或右键单击复制来复制应用程序外部的文件(可以是任何文件类型)。
如何在我的应用程序中检索该文件的名称和路径?我已经尝试了 navigator.clipboard.readText()
和 .read()
,但没有成功。
不幸的是,在 Electron 中,剪贴板是 still highly platform-dependant requiring different code depending on which platform you're running. Here's a snippet for a single file to get you started. If you need access to multiple files, see this snippet。
const { clipboard } = require('electron')
let text = null
if(process.platform === 'darwin') { // MacOS
text = clipboard.read('public.file-url')
} else { // Windows
text = clipboard.readBuffer('FileNameW').toString('ucs2')
} // TODO: Linux
console.log(text);
根据您的演示文稿,您可能需要转换为人类可读的格式(例如 file:///
与 C:\
等)