我有一个尝试从其他网络应用程序下载文件的Web应用程序。
当我的webapp运行时,从其他webapp(部署在tomcat6服务器中)的下载非常快。 然后,当我部署我的webapp(在同一服务器中)时,同一文件的下载需要很长时间(几分钟)。
我使用的代码就是这个:
response.setHeader "Content-disposition", "attachment; filename=fileName"
response.contentType = 'application/zip'
response.outputStream << new URL(address).openStream()
response.outputStream.flush()
我无法解释这种差异,我不知道问题是来自我的webapp还是来自服务器。
答案 0 :(得分:0)
我认为你的问题是grails正试图将所有文件加载到内存中。试试这个:
new URL(address).withInputStream { response.outputStream << it }