我正在使用 Electron、React 和 TypeScript 创建一个桌面应用程序。我的应用程序在后台运行,当用户单击图像文件或任何文件时,我想知道该文件的扩展名。这可能吗?如果可以的话请告诉我有什么办法吗
我寻找的方法是 Electron app.on("open-file"),但我不确定这是否一定能解决我的问题,而且我也不知道如何使用它。
如果“单击文件时”的意思是“在我的 Electron 应用程序中打开文件时”,则需要将应用程序注册为文件类型的处理程序,然后监听
"open-file"
事件。
将应用程序注册为某些文件类型的潜在处理程序是您在打包应用程序以供发布时定义的内容,例如通过在 Electron Builder 中使用
fileAssociations
,但最终取决于系统和您的用户是否想要使用您的应用程序作为您计划支持的文件类型的默认处理程序。
要实际响应事件,来自 documentation of the "open-file"
的
app
事件表示对侦听器的回调将提供事件对象和正在打开的文件的路径(作为字符串):
app.on("open-file", (event, path: string) => { console.log(path); });
至于如何从路径中获取扩展名,这取决于您想要和需要的正确程度: