亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

js 能夠實現在下載文件的時候調系統的選擇下載路徑的彈窗嗎

js 能夠實現在下載文件的時候調系統的選擇下載路徑的彈窗嗎

慕姐8265434 2018-08-05 14:00:40
最近項目有個需求,是在瀏覽器里點擊下載按鈕時,能彈出文件下載到哪個路徑的對話框;請教下,這個功能js有可能通過調用某個接口實現嗎
查看完整描述

2 回答

?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

這個彈框不是js調用哪個接口實現的,彈框的出現是瀏覽器的行為,一般都是通過后端實現的。
以java為例,點擊“下載”按鈕,向服務器發送下載請求,服務器接受請求并處理,重點來了,服務器處理完要向前端發response,這時候需要設置特定的response的header(我感覺瀏覽器出現選擇路徑等信息的對話框就是按照這個header判斷的,純粹個人猜測,有準確知道的,歡迎留言)
核心代碼大概是這個樣子:

//設置ContentType
  response.setContentType("application/octet-stream; charset=utf-8");
//處理中文文件名中文亂碼問題
  String fileName=new String(file.getName().getBytes("utf-8"),"ISO-8859-1");
  response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
  IOUtils.copy(new FileInputStream(file), response.getOutputStream());

我之前有寫過下載文件,瀏覽器彈出下載框的需求,一開始也是糾結于這個下載框是怎么出現的,后來發現,我的點錯了,最后使用的上面的代碼實現的,希望有所幫助


查看完整回答
反對 回復 2018-08-09
?
倚天杖

TA貢獻1828條經驗 獲得超3個贊

這個是瀏覽器決定的, 
比如chrome 默認用戶下載目錄, 不需要確認
其它瀏覽器有些在下載時可以自己選擇保存位置

查看完整回答
反對 回復 2018-08-09
  • 2 回答
  • 0 關注
  • 4181 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號