Re: [-Fx-] 有沒有好用的另存下載路徑管理

作者: microloft (微閣)   2021-08-15 19:30:30
※ 引述《gcobc12632 (Ted)》之銘言:
: 在火狐按右鍵另存後 會自動開啟Windows內建的檔案管理員
: 然後你就可以選擇路徑 把該檔案下載到你選的路徑內
: 但如果檔案很多種 需要分門別類的話
: 每次右鍵就要慢慢點路徑 然後檔案管理員還要讀取該路徑內的檔案 很拖時間
: 有沒有像這種 我可以存取很多路徑 例如:
: C:\Download
: D:\Download\圖片
: D:\Download\影片
: D:\Download\其他檔案
: 然後我按右鍵另存的時候 可以直接選其中一個路徑 就能下載到該路徑了
: 不需要再經過緩慢的Windows內建檔案管理員
: 有這種類似的套件嗎?
請原諒我以回文的方式賺 P 幣。
[ 簡短的回答 ]
依照你所提的需求,
我會直接說:沒有。
這是因為以目前能使用的 API 來說,
在技術上無法達成。
[ 較長的解釋 (沒興趣可跳過) ]
基於安全考量,
與檔案系統有關的操作一直都非常受限,
就算是 Extension 也沒有太多特權。
在一般網頁環境中,
JS 原則上只能用 <a download> 這種妖術來儲存檔案 (註 1);
而在 Extension 中,
也只多了 browser.download.downloads() 的選擇 (註 2)。
但不管是哪一種,
儲存時都只能「觸發開啟」檔案管理員,
讓使用者「手動」選取要存的路徑。
至於檔案管理員的預設開啟路徑、顯示內容,
都是由瀏覽器 (或作業系統) 全權控制,
JS 完全沒有插手餘地,
因此也就無法達到你想要的功能。
(註 1)
Chrome、Edge 與 Opera 多了 File System Access API 的選擇,
但存檔時的限制跟 <a> 一樣。
Firefox 與 Safari 則不支援此 API。
(註 2)
Chrome 的 Extension 多了
1. chrome.fileSystemProvider
2. chrome.fileBrowserHandler
兩個選擇,
可能有特殊權限 (沒仔細研究),
但只能用於 Chrome OS 中。
[ 替代方案 ]
老實說,
有一個更簡單的作法可以達到類似效果。
你以 Junction 或 Symbolic Link 的形式,
在單一資料夾下連結到各類別的實體資料夾位置。
例如在預設的儲存資料夾 C:\Download 中,
建立下列連結:
圖片
作者: gcobc12632 (Ted)   2021-08-15 20:06:00
不如說特地回文解釋原理還真是幫大忙了 感謝我可能會照上篇推文的方式 去安裝Windows用的管理器吧其實會PO這篇文的原因 主要是因為之前短暫的跳到Cent他就有內建此功能 覺得還不錯 就想順便問火狐有沒有像這樣 https://i.imgur.com/xu1kE9N.png
作者: microloft (微閣)   2021-08-15 20:36:00
難怪那麼多人說跳 Cent,看起來有些功能的確不錯
作者: gcobc12632 (Ted)   2021-08-15 20:52:00
但Cent更新很慢 而且實在是不習慣Chrome系的操作 就又跳回火狐了
作者: stucode   2021-08-15 21:32:00
如果透過 browser.downloads.download() 其實是可以不用觸發檔案管理員的,唯一的限制是只能在使用者指定的下載資料夾下(但可以是子資料夾),搭配這篇說的symbolic link 應該是可以做到原原 PO 想做的事。
作者: brli7848 (無理阿?)   2021-08-15 21:51:00
用native client搭mimetype可能嗎?
作者: microloft (微閣)   2021-08-15 22:22:00
嗯那部分我寫錯 (就不修了)。如果使用者配合建 Link,加上 download() 可以算是符合需求NC 應該也做得到,雖然我自己是沒把它歸在原原 PO 說的套件裡
作者: sam613 (Hikaru)   2021-08-15 23:02:00
上面看來單純是記住以前存過得路徑,不是去調用filesystem
作者: BDrip (藍光~)   2021-08-15 23:36:00
cent自從不能用Google帳號 應該就快死了..?
作者: sdbb (幫我泡杯卡布奇諾)   2021-08-16 00:21:00
感謝詳細解說,幫cent QQ
作者: rockmanx52 (ゴミ丼 わがんりんにゃれ)   2021-08-16 08:45:00
要說也是「曾經有」 但因為安全性被拿掉了...
作者: musou (斬~)   2021-08-16 09:38:00
https://imgur.com/a/bYufwS1像這樣的符合嗎?
作者: gcobc12632 (Ted)   2021-08-16 11:40:00
樓上這個好像可行 我再試試看DownThemAll只能選擇下載路徑的子資料夾 不過搭配上面symbolic link 就可以達到類似的效果 雖然不是套件 但如果以套件無法實現的話 這也算是個次要解 感謝
作者: BDrip (藍光~)   2021-08-16 23:07:00
想到..C:\fakepath\

Links booklink

Contact Us: admin [ a t ] ucptt.com