2011-07-22 221 views
1

轉換字符串到文件:我傳遞一個文件保存到動作控制器如何將字符串轉換爲Java文件,反之亦然?

redirect(action:"downloadFile", params:[file:temp_file]) 

但是當我做

def file = params.file 
file.getName(); 

它給我的錯誤cannot cast object 'java.lang.String' to 'java.io.File'

如何String轉換到File

回答

2

如果您params.file是user're上傳一個文件,你必須使用下列內容:

def file = request.getFile('file') 
//where 'file' is a name of parameter, from <input type='file'/> 

請閱讀更多關於file upload in Grails

如果你想這個文件發送到用戶的瀏覽器然後:

String filename = '/reports/pdfreport9090.pdf' 
response.contentType = "application/pdf" 
response.setHeader("Content-disposition", "filename=$filename") 
File f = new File(filename) 
response.outputStream << f.newInputStream() 
response.outputStream.flush() 
+0

其實我有另一個問題,我從方法中返回一個字符串文件(/reports/pdfreport9090.pdf)。我需要在控件中下載此文件ller action .so如何獲得文件 – n92

+0

你的意思是'控制器操作中的下載文件'?你想把這個文件發送給瀏覽器嗎? –

+0

是的,發送文件到瀏覽器,這個動作是在控制器方法 – n92

相關問題