我将如何为每个请求提供数千个文件

时间:2014-12-16 22:34:32

标签: spring spring-mvc tomcat tomcat7

我正在开发一个应用程序,用户可以将一个请求中的数千个文件下载到zip文件中。显然,这对我们的服务器来说不实用。向用户提供数千个文件的最佳方法是什么?

现在,我一直在努力的是让jquery文件下载库发出100个文件的请求,然后在成功处理程序中再次调用fileDownload以获得另外100个偏移100的文件。这个问题是fileDownload库(或服务器)等待大约20秒,直到调用fileDownload失败回调。

此方法的另一个问题是,客户端接收数百个弹出窗口询问他们是否要下载100个文件是不切实际的。

我们也无法在响应中发回数千个文件,因为我们的服务器没有,也没有那么多内存。

1 个答案:

答案 0 :(得分:2)

根据我的经验,这纯粹是根据我的经验看到的两种选择:

选项1:

批处理文件,压缩,然后建议用户下载位置。这应该是有限数量的文件和大小,因为它可以烧毁服务器资源。如果您有大量用户,我不建议这样做。

选项2(最佳):

将处理文件批处理成压缩文件,然后启用FTP到位置获取文件,或者如果用户有FTP位置,则将文件转移到FTP位置。我可以肯定地告诉你,这是最有效的,并且被我所参与的公司数量所使用。