Electron中打開文件瀏覽器并選中指定的文件


最近好久沒有寫過文章了,markdown感覺都不會用了,最近在寫Electron程序的時候遇到了一個問題,順便記錄一下吧,免得以后忘記了。

目前需要實現一個需求,點擊打開按鈕的時候需要打開文件瀏覽器,并且選中該文件。

Screenshot from 2017-07-06 18-19-36.png

在Electron中可以打開文件瀏覽器,官方Demo上也說明了:

Screenshot from 2017-07-06 18-21-44.png

但是,文檔中也說了,

If possible, select the file.

在三大平臺上測試,MacOS是可以打開文件瀏覽器并選中文件的,但是,Linux和Win上并不行,照Electron的更新速度,沒準兒后面的版本會實現這個功能也說不定。

既然官方API不行,那就得想辦法了,最終還是想到了一個,那就是在shell中調用系統(tǒng)的文件瀏覽器,并指定選中的文件,代碼如下:

在windows系統(tǒng)下

// for windows
let exec = require('child_process').exec;
exec('explorer.exe /select,"E:\\Demo\\test.txt"')

在linux系統(tǒng)下

// for linux (Ubuntu)
let exec = require('child_process').exec;
let filepath = '/home/xxx/Downloads/test.txt'
let cmd = 'nautilus -s ' + filepath
exec(cmd, function (error, stdout, stderr) {
  if (error) {
      // 有可能沒有安裝nautilus,這時直接調用系統(tǒng)的API來打開文件瀏覽器
      require('electron').shell.showItemInFolder(filepath)
  }
});

上面方法雖然有點茍且,但是可以解決這個問題,當然,還是希望Electron官方能夠盡快的實現這個功能!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容