Grails文件下载不起作用

时间:2014-12-18 21:18:07

标签: grails

我正在尝试编写一个控制器来下载文件。 我的域类看起来像这样:

class File {

String fileName
Byte[] fileBytes
Long fileSize
String fileType
String fileDescription
...
...
}

我的控制器看起来像这样:

def downloadFile = {
    def file = File.findById(params.id)
    if (file != null)
    {
        response.setContentType(file.fileType)
        response.setHeader("Content-disposition", "attachment;filename=\"${file.fileName}\"")
        response.outputStream << file.fileBytes
        return
     }

}

没有错误,但这不起作用。谁能帮我弄清楚什么是错的?

谢谢!

2 个答案:

答案 0 :(得分:0)

我很长一段时间都写了一些片段。

http://lalitagarw.blogspot.com/2014/03/grails-forcing-file-download.html

这可以帮到你。

但是,请尝试添加

response.outputStream << file.fileBytes
webRequest.renderView = false

并且无需返回。

答案 1 :(得分:0)

在末尾添加一个同花而不是返回:

response.outputStream.flush()