java配合nginx控制文件下载权限

使用下载地址

http://xxx.xxx.xxx/javadown/3214

location /javadown {
      internal;
      alias /home/datastore/coopDevelopment_online/upload;
      # 回调后台代理
      error_page 404 =200 @backend; 
 }
location @backend {
    #配置rewrite 跳到后台程序
     rewrite ^/javadown/(.*)$  /cooldev/resource/abc/$1 break; 
     proxy_pass http://192.168.2.165:8080;
     break; 
}```

#java代码

@ResponseBody
@RequestMapping(value="/abc/{resourceId}", method=RequestMethod.GET)
public Map<String, Object> abc(@PathVariable(value="resourceId") Long resourceId,
HttpServletResponse response,@RequestHeader(value="loginUserId") long loginUserId) {
try {
log.info("========>abc:"+resourceId);
log.info("========>loginUserId:"+loginUserId);
Resource res = resourcesService.findOne(resourceId);
if(null==res){
return this.getFailedMap("请求的资源不存在");
}
String projectId = "/936/";
response.setHeader("Content-Disposition", "attachment; filename="+res.getName());
response.setHeader("Content-Type","application/octet-stream");
response.setHeader("X-Accel-Redirect","/javadown"+projectId+res.getName());
log.info("=======>资源下载路径:"+"/javadown"+projectId+res.getName());
return this.getSuccessMap(projectId+res.getName());
} catch (Exception e) {
e.printStackTrace();
return this.getFailedMap(e.getMessage());
}
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,267评论 25 708
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 34,806评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,677评论 19 139
  • 一直以来我对于爱,都是那样的炙热与勇敢。以至于这份勇敢会伤害别人甚至欺骗自己。 遇到喜欢的人,我们会想到占有想到性...
    Lecia6阅读 172评论 0 0
  • 受隔夜利空消息的影响,早间大盘大幅低开后弱势震荡下跌,市场人气涣散,空头趁虚而入再次大打出手,盘中一度将指数再次打...
    8aebabbc625a阅读 222评论 0 0

友情链接更多精彩内容