最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

從Springboot項(xiàng)目中下載文件的具體過程

 更新時(shí)間:2021年07月27日 09:53:01   作者:文字跳動(dòng)  
最近在做一個(gè)臨時(shí)的項(xiàng)目,APP端在檢測到程序有更新時(shí),需要去后臺(tái)下載新的安裝包,接下來通過本文給大家分享從Springboot項(xiàng)目中下載文件的具體過程,感興趣的朋友一起看看吧

最近在做一個(gè)臨時(shí)的項(xiàng)目,APP端在檢測到程序有更新時(shí),需要去后臺(tái)下載新的安裝包。具體過程如下:

controller層:

/**
    * 下載app
    * @param response
    */
   @RequestMapping("downApp")
   @ResponseBody
   public void Download(HttpServletResponse response) {
       String fileName ="wuye.apk";
       String result = FileUtil.downloadFile(response, fileName);
       log.info("app包下載結(jié)果:",result);
   }

工具類:

public class FileUtil {
 
    public static String downloadFile(HttpServletResponse response, String fileName) {
        File path =null;
        response.setHeader("content-type","application/octet-stream");
        response.setContentType("application/octet-stream");
        try {
            response.setHeader("Content-Disposition","attachment;filename=" + java.net.URLEncoder.encode(fileName,"UTF-8"));
        }catch (UnsupportedEncodingException e2) {
            e2.printStackTrace();
        }
        byte[] buff =new byte[1024];
        BufferedInputStream bis =null;
        OutputStream os =null;
        try {
            path =new File(ResourceUtils.getURL("classpath:").getPath());
            os = response.getOutputStream();
            bis =new BufferedInputStream(new FileInputStream(new File(path +"/doc/" + fileName)));
            int i = bis.read(buff);
            while (i != -1) {
                os.write(buff,0, buff.length);
                os.flush();
                i = bis.read(buff);
            }
        }catch (FileNotFoundException e1) {
            //e1.getMessage()+"系統(tǒng)找不到指定的文件";
            return "系統(tǒng)找不到指定的文件";
        }catch (IOException e) {
            e.printStackTrace();
        }finally {
            if (bis !=null) {
                try {
                    bis.close();
                }catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        return "success";
    }

訪問:http://127.0.0.1:8081/ymd/downApp 文件就下載下來了,本方法借鑒了 網(wǎng)絡(luò)上的一些文章

到此這篇關(guān)于從Springboot項(xiàng)目中下載文件的文章就介紹到這了,更多相關(guān)Springboot項(xiàng)目下載文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決idea中debug工具欄消失后如何顯示的問題

    解決idea中debug工具欄消失后如何顯示的問題

    這篇文章主要介紹了解決idea中debug工具欄消失后如何顯示的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • IntelliJ IDEA 2021.1 首個(gè) Beta 版本發(fā)布

    IntelliJ IDEA 2021.1 首個(gè) Beta 版本發(fā)布

    這篇文章主要介紹了IntelliJ IDEA 2021.1 首個(gè) Beta 版本發(fā)布,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Spring?AOP核心功能示例代碼詳解

    Spring?AOP核心功能示例代碼詳解

    AOP面向切面編程,它是一種思想,它是對(duì)某一類事情的集中處理,而AOP是一種思想,而Spring?AOP是一個(gè)框架,提供了一種對(duì)AOP思想的實(shí)現(xiàn),它們的關(guān)系和loC與DI類似,這篇文章主要介紹了Spring?AOP統(tǒng)一功能處理示例代碼,需要的朋友可以參考下
    2023-02-02
  • Java調(diào)用linux shell腳本的方法

    Java調(diào)用linux shell腳本的方法

    這篇文章主要介紹了Java調(diào)用linux shell腳本的方法,需要的朋友可以參考下
    2015-02-02
  • JSON的String字符串與Java的List列表對(duì)象的相互轉(zhuǎn)換

    JSON的String字符串與Java的List列表對(duì)象的相互轉(zhuǎn)換

    這篇文章主要介紹了JSON的String字符串與Java的List列表對(duì)象的相互轉(zhuǎn)換,如果在瀏覽器端JSON是list則轉(zhuǎn)為string結(jié)構(gòu)來處理,需要的朋友可以參考下
    2016-04-04
  • IDEA巧用Postfix Completion讓碼速起飛(小技巧)

    IDEA巧用Postfix Completion讓碼速起飛(小技巧)

    這篇文章主要介紹了IDEA巧用Postfix Completion讓碼速起飛,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 詳解Java中如何正確書寫單例模式

    詳解Java中如何正確書寫單例模式

    一般單例都是五種寫法:懶漢,餓漢,雙重校驗(yàn)鎖,靜態(tài)內(nèi)部類和枚舉。本文整理了幾種常見的單例寫法,下面跟著小編一起來看下吧
    2017-01-01
  • Shiro安全框架的主要組件及認(rèn)證過程簡介

    Shiro安全框架的主要組件及認(rèn)證過程簡介

    這篇文章主要介紹了Shiro安全框架的主要組件及認(rèn)證過程簡介,Shiro?是一個(gè)強(qiáng)大靈活的開源安全框架,可以完全處理身份驗(yàn)證、授權(quán)、加密和會(huì)話管理,本文就來介紹一下此框架的核心組成,需要的朋友可以參考下
    2023-08-08
  • Java中的SynchronousQueue隊(duì)列詳解

    Java中的SynchronousQueue隊(duì)列詳解

    這篇文章主要介紹了Java中的SynchronousQueue隊(duì)列詳解,SynchronousQueue是BlockingQueue的一種,所以SynchronousQueue是線程安全的,SynchronousQueue和其他的BlockingQueue不同的是SynchronousQueue的capacity是0,需要的朋友可以參考下
    2023-12-12
  • spring boot配置ssl(多cer格式)超詳細(xì)教程

    spring boot配置ssl(多cer格式)超詳細(xì)教程

    這篇文章主要介紹了spring boot配置ssl(多cer格式)超詳細(xì)教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-11-11

最新評(píng)論

澄迈县| 中山市| 白朗县| 烟台市| 张掖市| 临江市| 米脂县| 探索| 安庆市| 商水县| 侯马市| 麻江县| 阜康市| 宣化县| 娄烦县| 洮南市| 都兰县| 长乐市| 华池县| 灯塔市| 罗江县| 三穗县| 个旧市| 观塘区| 石城县| 曲阳县| 积石山| 武威市| 高密市| 阿勒泰市| 石狮市| 连江县| 凤城市| 保定市| 紫金县| 旺苍县| 沈丘县| 河东区| 循化| 金沙县| 南城县|