Grails强制控制器下载文件

时间:2013-02-12 14:29:31

标签: grails groovy

我有以下代码:

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文件。

代码不会在控制台中创建任何错误,但文件未正确下载。

1 个答案:

答案 0 :(得分:3)

这对我来说适用于很多文件类型

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