gpt4 book ai didi

java - 无法在 IE8 中下载 XML 文件——spring 3 应用程序

转载 作者:行者123 更新时间:2023-12-01 01:51:23 25 4
gpt4 key购买 nike

我知道这个问题会被问过好几次,但我仍然没有得到这个问题的任何解决方案..

我希望IE8和Mozilla浏览器都强制下载XML文件作为附件。但是 Mozilla 在浏览器本身中打开 XML 文件,IE8 也尝试在屏幕上渲染 XML 文件,但渲染不正确。

这是我在 spring 3 Controller 中的代码。

Pmd17Export export=exportService.getFlatFile(dbdto.getExportFileId());
IOUtils.copy(export.getFlatFile().getBinaryStream(), response.getOutputStream());
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition",
"attachment;filename=" + export.getFlatFileName());
response.flushBuffer();

注意:在浏览器中,我首先进行 js 验证,然后使用 jquery 提交表单

function validate() {
//validate form
if(noerror) {
$("form").submit();
}
}

附加我在 firebug 中看到的请求和响应 header

Response Headersview 
Date Fri, 03 Feb 2012 12:55:42 GMT
Server Apache-Coyote/1.1
Transfer-Encoding chunked

Request Headersview
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Accept-Encoding gzip, deflate
Accept-Language en-us,en;q=0.5
Connection keep-alive
Cookie JSESSIONID=5ED81A79A2297AD044E6DBB2B90806E7
Host localhost:8080
Referer http://localhost:8080/dbcomparision/app/exportdatabase.html
User-Agent Mozilla/5.0 (Windows NT 5.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1
Request Headers From Upload Stream
Content-Length 15
Content-Type application/x-www-form-urlencoded

请告诉我如何强制两个浏览器下载此文件。

最佳答案

在发送数据之前不需要设置 header 吗?即:

response.setContentType("application/octet-stream");      
response.setHeader("Content-Disposition",
"attachment;filename=" + export.getFlatFileName());
IOUtils.copy(export.getFlatFile().getBinaryStream(), response.getOutputStream());

关于java - 无法在 IE8 中下载 XML 文件——spring 3 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9126341/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com