Java Chrome中的文件下载名称
我需要通过http下载excel文件。问题是,Chrome浏览器忽略了我在响应头中设置的文件名,而其他浏览器则表现良好Java Chrome中的文件下载名称,java,http,google-chrome,download,Java,Http,Google Chrome,Download,我需要通过http下载excel文件。问题是,Chrome浏览器忽略了我在响应头中设置的文件名,而其他浏览器则表现良好 resp.setContentType("application/vnd.ms-excel"); resp.setHeader("Content-disposition:", "attachment; filename=grid.xls"); Chrome将其保存为“excel.xls”。如何设置chrome设置文件名?谢谢获取HTTP跟踪,或使用redbot.org测试您的
resp.setContentType("application/vnd.ms-excel");
resp.setHeader("Content-disposition:", "attachment; filename=grid.xls");
Chrome将其保存为“excel.xls”。如何设置chrome设置文件名?谢谢获取HTTP跟踪,或使用redbot.org测试您的站点
顺便说一句:setHeader的第一个参数中的尾随冒号看起来有点可疑。我只是想看看我们在下载CSV文件时做的一些事情。我们发送以下标题
Cache-Control: no-cache,no-store,max-age=0
Pragma: No-cache
Content-Length: 312
Content-Type: application/csv;charset=UTF-8
Content-disposition: attachment; filename="MyCsvFileToSave.csv"
这适用于我们的Chrome。字符集可能是不同的吗?删除setHeader的第一个参数中的尾随冒号修复了这个问题。我肯定会使用Fiddler或Wireshark之类的工具来准确查看浏览器接收到的内容。在尾随的冒号上拾取良好。您不应该需要它,因为set header会将键和值与colonAdded测试用例分离,这表明Safari和Chrome在这里做的是正确的。不,Content Type上的charset参数应用于有效负载,而不是header字段。出于好奇,您使用的是什么servlet实现?