文章资讯
java 下载交于nginx
2022-07-22 10:14  浏览:8
背景:
java提供接口,进行鉴权。
鉴权成功后将下载指向nginx,收nginx进行下载代理。
直接访问nginx不能下载,只能走重定向下载。,

背景:
java提供接口,进行鉴权。
鉴权成功后将下载指向nginx,收nginx进行下载代理。
直接访问nginx不能下载,只能走重定向下载。

java
    @ApiOperation(value = "下载文件")
    @GetMapping("downloadFile/{fileId}")
    public void downloadFile(@PathVariable String fileId, HttpServletRequest httpServletRequest, HttpServletResponse response){
      	// 鉴权代码略
        // 获取文件相对路径
        String fileName = scriptInfoService.getFileName(fileId);
        response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
        response.setHeader("Content-Type", "application/octet-stream");
        response.setHeader("X-Accel-Redirect","/file/" + fileName);
    }
nginx
    location /file {
        internal; //非定向不允许访问
        alias d:/data/file/;
    }

,背景:
java提供接口,进行鉴权。
鉴权成功后将下载指向nginx,收nginx进行下载代理。
直接访问nginx不能下载,只能走重定向下载。