2015-01-21 101 views
1

我有一個Web應用程序試圖從另一個webapp下載文件。openStream需要很長時間才能下載文件

當我的web應用程序運行時,從其他web應用程序(部署在tomcat6服務器上)下載的速度非常快。 然後當我部署我的webapp(在同一臺服務器上)時,同一個文件的下載需要很長時間(幾分鐘)。

我使用的代碼是這一個:

response.setHeader "Content-disposition", "attachment; filename=fileName" 
response.contentType = 'application/zip' 
response.outputStream << new URL(address).openStream() 
response.outputStream.flush() 

我無法解釋這種差異,我不知道,如果問題來自我的web應用程序或服務器。

+0

> Grails的運行war' – injecteer 2015-01-21 10:53:56

+0

是的,我產生了戰爭,然後我在我想說的服務器 – Jils 2015-01-21 10:55:36

+0

部署它,使用'HttpBuilder'到:試試這個?獲得遠程文件,它給了你更多的控制權,並且你可以追蹤下載的內容和方式,'url.openStream()'適用於簡單腳本 – injecteer 2015-01-21 11:00:16

回答

0

我認爲你的問題是grails正試圖將所有文件加載到內存中。通過「部署我webapp`你的意思是'

new URL(address).withInputStream { response.outputStream << it } 
相關問題