2012-05-15 81 views
0

我想要一个链接在我的视图页上,它应该扩展为.xls文件。当我点击该链接时,我应该能够看到下载的文件。该文件应该只在.xls中。我该怎么做呢?Grails .xls文件下载

+1

为什么groovy在grails上!你不能说,你可以检查http://burtbeckwith.com/blog/?p=1213了解更多细节。 – Jaguar

+1

请更清楚你在做什么。你想使用GSP来生成一个.xls文件吗? – David

回答

2

您应该使用指向控制器操作的g:link,然后将.xls数据写入响应。这将是这个样子......

view.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() 

    } 

} 

享受!

+0

Thanx Michael :) –

+0

:这是完美的工作,我还需要知道,我的文件已被下载。 –

+0

特定于浏览器,用户和操作系统。您不会知道文件在客户端的下载位置。 –