将字符串转换为文件:我正在将文件传递给控制器中的操作
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
?
答案 0 :(得分:2)
如果您的params.file
是用户正在上传的文件,则必须使用以下内容:
def file = request.getFile('file')
//where 'file' is a name of parameter, from <input type='file'/>
如果您尝试将此文件发送到用户的浏览器,则:
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()