通过具有部分下载支持的控制器提供文件

时间:2010-11-13 15:35:33

标签: grails download controller partial

我需要通过grails提供文件,只有拥有权限的用户才能访问,因此我无法通过指向容器的静态链接为其提供服务。系统能够毫无问题地将二进制文件传输到客户端,但现在(对于客户端上的带宽性能问题),我需要在控制器中实现分段或部分下载。

这个问题的插件或经过验证的解决方案? 可能是某种tomcat / apache插件,用于限制对具有某些规则或临时票据的文件的访问,因此我可以将“恢复下载”或“分段下载”问题委托给容器。

此外,我还需要记录并保存用户下载的统计信息。 我需要良好的性能,所以我认为在控制器中执行此操作并不是一个好主意。

抱歉英语不好。

1 个答案:

答案 0 :(得分:0)

有一个插件 for apache - https://tn123.org/mod_xsendfile/在这种情况下你在apache后面使用的是什么并不重要。通过使用此插件,您将使用特殊标头X-SENDFILE进行响应,并提供要提供的文件路径,Apache将负责当前请求的实际文件下载。

如果您使用的是Nginx,则必须使用X-Accel-Redirect标题,请参阅http://wiki.nginx.org/XSendfile