我需要通过grails提供文件,只有拥有权限的用户才能访问,因此我无法通过指向容器的静态链接为其提供服务。系统能够毫无问题地将二进制文件传输到客户端,但现在(对于客户端上的带宽性能问题),我需要在控制器中实现分段或部分下载。
这个问题的插件或经过验证的解决方案? 可能是某种tomcat / apache插件,用于限制对具有某些规则或临时票据的文件的访问,因此我可以将“恢复下载”或“分段下载”问题委托给容器。
此外,我还需要记录并保存用户下载的统计信息。 我需要良好的性能,所以我认为在控制器中执行此操作并不是一个好主意。
抱歉英语不好。
答案 0 :(得分:0)
有一个插件 for apache - https://tn123.org/mod_xsendfile/在这种情况下你在apache后面使用的是什么并不重要。通过使用此插件,您将使用特殊标头X-SENDFILE
进行响应,并提供要提供的文件路径,Apache将负责当前请求的实际文件下载。
如果您使用的是Nginx,则必须使用X-Accel-Redirect
标题,请参阅http://wiki.nginx.org/XSendfile