iT邦幫忙

0

瀏覽器預設下載位置

  • 分享至 

  • xImage

請問除了寫死路徑像 C:\Users\user\Downloads 之外,還有方法可以在 java 或 javascript 指定瀏覽器下載的位置要在 windows 或 mac 的 downloads 資料夾嗎?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1

不可能的事。
基於「本機安全性原則」的情況下。
無法使用非本機運行去修改本機相關的任何設定。

網頁就算是放在本機運行的情況下。
使用 localhost 或是127.0.0.1
部份的動作還可以處理。在不違反「本機安全性原則」的情況下。

但只要是有外連的情況。就會將其動作視為非本機而阻止。

最後說明為何會這樣的限制
你換位思考一下好了。
如果假設這個是可行的話。
那是否今天我想要在你的機器上植入一個病毒或是破壞應用程式。
不就是一件很簡單的事了?

PS:如果可以用下載應用來處理如APP等相關。
而由程式去呼叫APP則是可以免除「本機限制的」
但這會需要客戶進行下載安裝的動作並允許資料變動的權限。

看更多先前的回應...收起先前的回應...
hypons iT邦新手 5 級 ‧ 2022-08-25 10:04:29 檢舉

那我怎樣可以用 java 或 javascript 在下載時使用瀏覽器所設定的路徑呢?
還是我一定要指定一個路徑給他,但每個人的檔案位置都不一樣啊

hypons好怪的邏輯,只有上傳位址會每個人都不一樣,因為你無法預知USER會把上傳檔案放在本機哪個位址,可是你供人下載的檔案怎麼可能會每個人都不一樣,除非你的下載位址是記錄在資料庫內,每個人都不一樣,這樣才有可能,可是一但USER開始下載,你沒有權限規範USER只能放在本機的什麼地方,基於安全性理由,無法指定

hypons iT邦新手 5 級 ‧ 2022-08-25 10:46:18 檢舉

但每個人的 account 名稱都不一樣,如果使用 C:\Users\user\Downloads 不就沒用了嗎?

hypons
基本上不可能讓你指定存檔位址,或是你可以透過 MSG BOX 開給 USER 選擇,但你不能直接指定你就是要放那,你必須把最後 的確定按鈕 給 USER去決定,這是基本的安全性問題,USER沒有確定的時候你對USER本機沒有任何的權限

或是參考 系統變數 %userprofile%/download
這樣也許可以,但我沒TRY過

或者,反過來問,「你想要改變下載路徑的用意是什麼?」

hypons iT邦新手 5 級 ‧ 2022-08-25 11:36:21 檢舉

小處成就大事因為要下載的是在 java 中用 ireport 產生的 PDF,但 JasperExportManager.exportReportToPdfFile() 的第二個參數要放下載路徑。

喔喔喔,天啊,這邊只會填主機上面的位址,不是用戶端本機位址,他產生後會放在主機上,然後USER再去下載,有時候根本不給位址,他會直接產生檔案,用戶端瀏覽器就會出現儲存檔案通知了,或是直接丟到瀏覽器預設的下載資料夾

hypons iT邦新手 5 級 ‧ 2022-08-25 14:33:47 檢舉

我後來有試過在java 把 export PDF 成 byte, 但沒有成功.

我是覺得,你得先搞懂何謂本機路徑跟主機路徑。前端路徑及後端路徑。
就算是在同一台機器上。這兩種還是有區分的。

你現在已經有點混為一談了。
你到底想要問的是哪一個
1.後端處理可用的下載路徑指定:
這可以隨便你指定。畢竟你在儲存或是生成時,就需要指定好你的儲存位置在哪。如果是希望不同身份跑不同路徑。你只能從程式去設定規劃好需要放的位置去。

2.前端下載指定路徑:
基本如上所說「本機安全性原則」是不允許你可以控制操作或是設定。本機上的任何設定。指定或是設定下載路徑,已經算是控制或設定本機設定及操作,這當然不會被允許的。

除非你的網址是本機性路徑如127.0.0.1
但就算是本機性網址。也並非是所有的安全性都是開通的。

hypons iT邦新手 5 級 ‧ 2022-09-26 12:27:23 檢舉

其實就是想在把產出的pdf下載到客戶端的設置的那個 download 資料夾.

基本上那是不可能的事就是了。
客戶要將檔案下載到哪邊。是無法利用程式語言來指定的。
因為這違反了「本機安全性原則」

hypons iT邦新手 5 級 ‧ 2022-09-26 14:00:56 檢舉

但我自己使用電腦下載檔案時, 瀏覽器通常都不會問我要下載到哪裡, 就直接下載到設置的download 資料夾, 是因為我用MAC的關係嗎?

hypons iT邦新手 5 級 ‧ 2022-09-26 14:06:23 檢舉

其實我在其他中專案的程式碼中找到一段差不多的貼上, 就解決了, 但我還是想多了解到底是怎運作.

exporter.setConfiguration(exportConf);	jprint.setOrientation(OrientationEnum.LANDSCAPE);
exporter.setExporterInput(new SimpleExporterInput(jprint));
exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(os));
exporter.exportReport();
0
海綿寶寶
iT邦大神 1 級 ‧ 2022-08-25 15:19:50

如果你所謂的 java 是指 servlet/jsp 的話
可以參考這篇

hypons iT邦新手 5 級 ‧ 2022-09-26 12:25:13 檢舉

謝謝

hypons iT邦新手 5 級 ‧ 2022-09-26 14:06:31 檢舉

其實我在其他中專案的程式碼中找到一段差不多的貼上, 就解決了, 但我還是想多了解到底是怎運作.

exporter.setConfiguration(exportConf);	jprint.setOrientation(OrientationEnum.LANDSCAPE);
exporter.setExporterInput(new SimpleExporterInput(jprint));
exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(os));
exporter.exportReport();

我要發表回答

立即登入回答