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

Spring Boot+Nginx實(shí)現(xiàn)大文件下載功能

 更新時(shí)間:2024年05月23日 10:03:16   作者:珍朱(珠)奶茶  
相信很多小伙伴,在日常開放中都會(huì)遇到大文件下載的情況,大文件下載方式也有很多,比如非常流行的分片下載、斷點(diǎn)下載;當(dāng)然也可以結(jié)合Nginx來(lái)實(shí)現(xiàn)大文件下載,在中小項(xiàng)目非常適合使用,這篇文章主要介紹了Spring Boot結(jié)合Nginx實(shí)現(xiàn)大文件下載,需要的朋友可以參考下

前言

相信很多小伙伴,在日常開放中都會(huì)遇到大文件下載的情況,大文件下載方式也有很多,比如非常流行的分片下載、斷點(diǎn)下載;當(dāng)然也可以結(jié)合Nginx來(lái)實(shí)現(xiàn)大文件下載,在中小項(xiàng)目非常適合使用。

Nginx配置

在nginx配置中,配置內(nèi)部訪問路徑,使用 internal 來(lái)限制內(nèi)部,配置如下:

server {
    location /downloadFile {
        alias 文件所在目錄;
        internal;  # 僅限內(nèi)部調(diào)用
    }
}

Spring Boot下載

具體代碼如下:

    /**
     *
     * @param filePath  文件路徑
     * @param originalName  源文件名
     * @param response
     */
    @GetMapping("/downloadFile")
    public void downloadFile(String filePath, String originalName, HttpServletResponse response) {
        File file = new File("/upload/files/images/test/test.jpg");
        String[] split = filePath.split("\\/");
        String yyyyMMdd = split[2];
        log.info(file.getPath());
        try {
            String fileName = URLEncoder.encode(originalName, "UTF-8");
            response.addHeader("Content-Disposition", "attachment;filename=" + fileName);
            //設(shè)置URI給nginx進(jìn)行內(nèi)部的跳轉(zhuǎn)/ngndownload
            response.setHeader("X-Accel-Redirect", "/downloadFile/" + yyyyMMdd + "/" + fileName );
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

到此這篇關(guān)于Spring Boot結(jié)合Nginx實(shí)現(xiàn)大文件下載的文章就介紹到這了,更多相關(guān)Spring Boot Nginx大文件下載內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 兩種實(shí)現(xiàn)Java類隔離加載的方法

    兩種實(shí)現(xiàn)Java類隔離加載的方法

    這篇文章主要介紹了兩種實(shí)現(xiàn)Java類隔離加載的方法,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下
    2021-02-02
  • mybatis中的延遲加載類型及設(shè)定詳解

    mybatis中的延遲加載類型及設(shè)定詳解

    這篇文章主要介紹了mybatis中的延遲加載類型及設(shè)定詳解,MyBatis中的延遲加載,也稱為懶加載,是指在進(jìn)行關(guān)聯(lián)查詢時(shí),按照設(shè)置延遲規(guī)則推遲對(duì)關(guān)聯(lián)對(duì)象的select查詢,延遲加載可以有效的減少數(shù)據(jù)庫(kù)壓力,需要的朋友可以參考下
    2023-10-10
  • java中駝峰與下劃線的寫法互轉(zhuǎn)

    java中駝峰與下劃線的寫法互轉(zhuǎn)

    這篇文章主要介紹了java中駝峰與下橫線的寫法互轉(zhuǎn)方法,文中先是進(jìn)行了簡(jiǎn)單的介紹,之后跟大家分享了一個(gè)自己編寫的工具類的示例代碼,有需要的朋友可以參考借鑒,下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-01-01
  • MyBatis分頁(yè)插件PageHelper的使用與原理

    MyBatis分頁(yè)插件PageHelper的使用與原理

    提到插件相信大家都知道,插件的存在主要是用來(lái)改變或者增強(qiáng)原有的功能,MyBatis中也一樣,下面這篇文章主要給大家介紹了關(guān)于Mybatis第三方PageHelper分頁(yè)插件的使用與原理,需要的朋友可以參考下
    2023-02-02
  • Java?注解@PostConstruct的原理及最佳使用場(chǎng)景分析

    Java?注解@PostConstruct的原理及最佳使用場(chǎng)景分析

    @PostConstruct?是?Java?中非常實(shí)用的注解,尤其是在?Spring?等框架中,它使得開發(fā)者可以方便地在?Bean?初始化后執(zhí)行額外的操作,本文給大家介紹@PostConstruct?的原理、使用場(chǎng)景及最佳實(shí)踐,感興趣的朋友一起看看吧
    2025-04-04
  • Maven在Windows中的配置以及IDE中的項(xiàng)目創(chuàng)建實(shí)例

    Maven在Windows中的配置以及IDE中的項(xiàng)目創(chuàng)建實(shí)例

    下面小編就為大家?guī)?lái)一篇Maven在Windows中的配置以及IDE中的項(xiàng)目創(chuàng)建實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2017-09-09
  • Java反射技術(shù)詳解及實(shí)例解析

    Java反射技術(shù)詳解及實(shí)例解析

    這篇文章主要介紹了Java反射技術(shù)詳解及實(shí)例解析,反射可以說(shuō)是Java中最強(qiáng)大的技術(shù)了,它可以做的事情太多太多,很多優(yōu)秀的開源框架都是通過反射完成的。如果對(duì)JAVA感興趣來(lái)可以學(xué)習(xí)一下
    2020-07-07
  • 使用SpringBoot創(chuàng)建一個(gè)RESTful API的詳細(xì)步驟

    使用SpringBoot創(chuàng)建一個(gè)RESTful API的詳細(xì)步驟

    使用 Java 的 Spring Boot 創(chuàng)建 RESTful API 可以滿足多種開發(fā)場(chǎng)景,它提供了快速開發(fā)、易于配置、可擴(kuò)展、可維護(hù)的優(yōu)點(diǎn),尤其適合現(xiàn)代軟件開發(fā)的需求,幫助你快速構(gòu)建出高性能的后端服務(wù),需要的朋友可以參考下
    2025-01-01
  • java讀取json文件的2種方式例子

    java讀取json文件的2種方式例子

    這篇文章主要給大家介紹了關(guān)于java讀取json文件的2種方式,在開發(fā)過程中有時(shí)會(huì)遇到需要讀取.json文件的需求,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • SpringBoot DBUnit 單元測(cè)試(小結(jié))

    SpringBoot DBUnit 單元測(cè)試(小結(jié))

    這篇文章主要介紹了SpringBoot DBUnit 單元測(cè)試(小結(jié)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2018-09-09

最新評(píng)論