使用Node + Meteor + Electron文件浏览器对话框获取完整文件路径

时间:2017-07-11 11:42:42

标签: javascript html node.js meteor electron

这是一个棘手的问题......

我有一个Meteor网络应用程序,可以在用户的​​计算机上本地运行,可以在浏览器中打包,也可以打包在Electron应用程序中。

https:github.com/lacymorrow/cinematic

cinematic.[js|html]是CSS选择器#directory-path的重要文件。

它使用机器上的本地文件,因此从技术上讲,服务器和客户端是同一台机器,目前我要求用户明确知道其Movies目录的文件路径(例如:/Users/username/Movies),输入它在面向客户端,并使用fs NodeJS模块处理文件。

我做尽可能多的推断,将默认目录设置为最可能的位置,但这不是一个好的UI。我需要一个目录浏览器对话框。

问题

由于客户端视图是HTML,因此出于安全原因,不允许完全访问文件系统。

<input id="directory-path" type="file" name="files" webkitdirectory mozdirectory directory multiple />

返回的值只有FileList,只包含文件名,因此我可以处理视频文件,但没有完整的路径来打开&#34;打开&#34;它们。

可能的解决方案

  • 在Chome / WebKit中,我能够访问临时URL
浏览器打开时

垮台:)。 Firefox或Safari中没有临时URL,但Electron在Canary使用相同的V8 JS引擎,所以这可能是一个优势。

  • 检测电子,向应用用户提供电子对话框,为浏览器用户提供路径input

垮台: Multi-ui;需要Electron-Meteor之间的连接,而不是仅仅整合应用程序。

任何人都可以帮我选择合理的方法吗?

0 个答案:

没有答案