0

我想在我的视图页面上有一个链接,它应该使用 .xls 文件扩展。当我单击该链接时,我应该能够看到下载的文件。该文件应仅在 .xls 中。我该怎么做呢?

4

1 回答 1

2

您应该使用指向控制器操作的g:link,然后将 .xls 数据写入响应。它看起来像这样......

视图.gsp

<g:link controller="foo" action="download" >Download</g:link>

那么你需要一个控制器动作......

class FooController{

    def download = {
        def file = new File("/path/to/file/somefile.xls"); //<-- you'll probably want to pass in the file name dynamically with the 'params' map    
        response.setContentType("application/excel")
        response.setHeader("Content-disposition", "attachment;filename=${file.getName()}")

        response.outputStream << file.newInputStream()

    }

}

享受!

于 2012-05-15T09:39:34.120 回答