欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java實現(xiàn)下載文件到默認瀏覽器路徑

 更新時間:2022年05月20日 09:03:10   作者:我們都愛松松吧  
這篇文章主要介紹了java實現(xiàn)下載文件到默認瀏覽器路徑,具有很好的參考價值,希望對的大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

下載文件到默認瀏覽器路徑

在controller接口入?yún)⒅苯觽鱄ttpServletResponse response,然后設置文件名稱(fileName)和需要下載的文件類型(contentType),inputStream是要下載的文件流,無論是網(wǎng)絡文件還是存儲在阿里OOS或者騰訊COS靜態(tài)存儲服務中的文件,都可以轉(zhuǎn)化成InputStream的形式。

 @GetMapping("/download")
 public void download(HttpServletResponse response) {
         return this.downloadFile(response);
    }
public void downloadFile(HttpServletResponse response, InputStream inputStream, String fileName, String contentType) {
        try (BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream())) {
            //通知瀏覽器以附件形式下載
            response.setHeader("Content-Disposition", String.format("attachment; filename=\"%s\"", fileName));
            //文件輸出格式
            response.setContentType(contentType);
            byte[] car = new byte[1024];
            int len;
            while ((len = inputStream.read(car)) != -1) {
                out.write(car, 0, len);
            }
        } catch (IOException e) {
            log.error("Method:downloadFile,ErrorMsg:{}", e.getMessage());
        }
    }

啟動本地服務,把該接口鏈接url復制在瀏覽器上,點擊回車,就可以看到下載效果了。

如果在postman上測試,則需要在以下界面點下載按鈕:

在這里插入圖片描述

Selenium修改瀏覽器默認下載路徑

代碼實現(xiàn) java + selenium修改瀏覽器默認下載路徑方法

// 1.設置驅(qū)動路徑(驅(qū)動在 target 文件夾中)
System.setProperty("webdriver.chrome.driver", this.getClass().getResource("/").getPath() + "drivers/chromedriver.exe");

// 2.新的下載地址為桌面(可以弄成某個文件夾路徑而不要直接弄成死的靜態(tài)路徑)
String downloadPath = "C:\\Users\\XXX\\Desktop";

// 3.HashMap 中保存下載地址信息
HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("download.default_directory", downloadPath);

// 4.ChromeOptions 中設置下載路徑信息,需要傳入保存有下載路徑的 HashMap
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.setExperimentalOption("prefs", hashMap);

// 依據(jù) ChromeOptions 來產(chǎn)生 DesiredCapbilities,這時 DesiredCapbilities 就也具備了下載路徑的信息了
DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
desiredCapabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);

// 5.依據(jù) ChromeOptions 產(chǎn)生驅(qū)動,此時的 driver 已經(jīng)具備了新的下載路徑的
WebDriver driver = new ChromeDriver(desiredCapabilities );

以上方法親測有效,僅為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java中的異常測試框架JUnit使用上手指南

    Java中的異常測試框架JUnit使用上手指南

    這篇文章主要介紹了Java的異常測試框架JUnit使用上手指南,JUnit是Java代碼進行單元測試中的常用工具,需要的朋友可以參考下
    2016-03-03
  • Spring mvc如何實現(xiàn)數(shù)據(jù)處理

    Spring mvc如何實現(xiàn)數(shù)據(jù)處理

    這篇文章主要介紹了Spring mvc如何實現(xiàn)數(shù)據(jù)處理,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • 基于JavaMail的Java實現(xiàn)簡單郵件發(fā)送功能

    基于JavaMail的Java實現(xiàn)簡單郵件發(fā)送功能

    這篇文章主要為大家詳細介紹了基于JavaMail的Java實現(xiàn)簡單郵件發(fā)送功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • 關(guān)于Java中修飾符的總結(jié)(fina除外)

    關(guān)于Java中修飾符的總結(jié)(fina除外)

    下面小編就為大家?guī)硪黄P(guān)于Java中修飾符的總結(jié)(fina除外)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • flink進階富函數(shù)生命周期介紹

    flink進階富函數(shù)生命周期介紹

    這篇文章主要為大家介紹了flink進階富函數(shù)生命周期的舉例介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • Redis實現(xiàn)商品秒殺功能頁面流程

    Redis實現(xiàn)商品秒殺功能頁面流程

    這篇文章主要介紹了Redis實現(xiàn)商品秒殺功能的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-09-09
  • spring boot 集成shiro的配置方法

    spring boot 集成shiro的配置方法

    要在spring boot上集成其他框架,首先要會spring javaconfig方法,利用此方法同樣可以配置其他模塊。這篇文章主要介紹了spring boot 集成shiro的配置方法,需要的朋友可以參考下
    2018-01-01
  • Java Object toString方法原理解析

    Java Object toString方法原理解析

    這篇文章主要介紹了Java Object toString方法原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • Java實現(xiàn)多線程文件下載的代碼示例

    Java實現(xiàn)多線程文件下載的代碼示例

    本篇文章主要介紹了Java實現(xiàn)多線程下載的代碼示例,Java多線程可以充分利用CPU的資源,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-02-02
  • java,android,MD5加密算法的實現(xiàn)代碼(16位,32位)

    java,android,MD5加密算法的實現(xiàn)代碼(16位,32位)

    下面小編就為大家?guī)硪黄猨ava,android,MD5加密算法的實現(xiàn)代碼(16位,32位)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09

最新評論