业务是这样的:
前台:点击下载按钮,下载一个文件
后台:查询相关数据,将这个数据生成文件下载
我现在的做法是这样的,后台查询数据,然后写到服务器的一个文件中,然后前台下载这个文件。
问题是这样的:①多人下载时,下载的文件不一定是正确的
②这个文件会残留在服务器上
我想实现的是,不保存在服务器上,直接将文件下载下来,如何实现,还是有其他思路?
------解决思路----------------------
建议看下导出execl,使用POI实现。
没必要保存到服务器上,直接输出到客服端就好。
------解决思路----------------------
建议使用文件模式保留在server上,,
直接输出的缺点::
对内存需要大的..文件内容都放在内存里面了。。如果内容很大的时候很可能造成web服务器崩溃
难以优化下载性能,因为只能使用绑定的web服务器如tomcat,jboss一类的。。。这类服务器的下载性能一般。。
使用文件模式
不管大的文件下也能下载..
提示稳定性,因为不占用web服务器内存,减少崩溃
可以容易优化下载性能,,可以使用apache等高的性能web服务器来进行下载任务
也可以使用ftp模式来下载...
问题解决方案
多人下载时的重名文件::只要使用uname+uuid生成文件名称就可以区别开不同的用户...
文件会残留在服务器上:::一般不用管,现在硬盘很大。。确实需要清理,可以手动定时清理,也可以写个定时脚本清理就是了...