我正在使用Grails。 我有一个示例代码来下载excel文件:
XSSFWorkbook workbook = new XSSFWorkbook()
....
FileOutputStream out = new FileOutputStream(new File("C:\\excel.xlsx"))
workbook.write(out)
out.close()
此处将自动下载excel文件。我希望系统提示用户在浏览器窗口中下载文件。 我尝试使用以下代码:
response.setHeader("Cache-Control", "public")
response.setContentType("application/vnd.ms-excel")
response.setHeader('Content-Disposition', 'Attachment;Filename="excel.xlsx"')
ServletOutputStream outputStream = response.getOutputStream()
workbook.write(outputStream)
outputStream.flush()
outputStream.close()
哪个不起作用。怎么做到这一点?
提前致谢。
答案 0 :(得分:1)
引用表格W3C
参数值通常区分大小写,但某些参数被解释为不区分大小写,具体取决于预期用途。 (例如,多部分边界区分大小写,但message / External-body的“access-type”不区分大小写。)
其中,尝试更改
response.setHeader('Content-Disposition', 'Attachment;Filename="excel.xlsx"')
到
response.setHeader('Content-Disposition', 'attachment;filename="excel.xlsx"')