2013-02-12 119 views
0

我有以下代碼:Grails的力控制器下載文件

def getMyFile(){ 


    File myFile = new File("/path/to/file.xsl") 

    try{ 

     response.setHeader "Content-disposition", "attachment; filename=${myFile.name}" 
     response.contentType = new MimetypesFileTypeMap().getContentType(myFile) 
     response.outputStream << myFile .bytes 
     response.outputStream.flush() 
    } 

    catch (e){ 
     println(e.message) 
    } 

} 

當訪問該控制器的動作,我想瀏覽器下載Excel文件。

該代碼不會在控制檯中創建任何錯誤,但該文件未被正確下載。

+0

你有沒有嘗試設置內容長度。 response.setContentLength(...) – uchamp 2013-02-12 14:36:02

+0

是的但不工作 – Valeriane 2013-02-12 14:43:12

回答

3

這裏的東西,對我的作品進行了大量的文件類型

 response.setContentType("application/octet-stream") 
     response.setHeader("Content-disposition", "attachment; filename=\"myFileName\"") 
     response.outputStream << myFile.newInputStream() 
     return