Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在较大的文件中,尝试强制下载xml文件失败_Java_Spring_Spring Mvc - Fatal编程技术网

Java 在较大的文件中,尝试强制下载xml文件失败

Java 在较大的文件中,尝试强制下载xml文件失败,java,spring,spring-mvc,Java,Spring,Spring Mvc,编辑 我通过压缩XML并将其作为application/zip发送,解决了这个问题。尽管如此,问题仍然是为什么它不能在纯XML中工作 我目前正试图让我们网站的用户下载一个包含所谓“延迟响应”的xml文件,以防自动处理失败,他们的请求需要一个人查看。该网站基本上只是一个简单的图形用户界面,而不是一个面向非技术人员的soap Web服务,但这对于这个问题来说并不重要 当有迟来的回复时,网站会显示总数量并提供下载,我目前正在通过 // XML-content is aggregated and wr

编辑 我通过压缩XML并将其作为
application/zip
发送,解决了这个问题。尽管如此,问题仍然是为什么它不能在纯XML中工作


我目前正试图让我们网站的用户下载一个包含所谓“延迟响应”的xml文件,以防自动处理失败,他们的请求需要一个人查看。该网站基本上只是一个简单的图形用户界面,而不是一个面向非技术人员的soap Web服务,但这对于这个问题来说并不重要

当有迟来的回复时,网站会显示总数量并提供下载,我目前正在通过

// XML-content is aggregated and written to response outputstream
response.setCharacterEncoding("UTF-8");
response.setContentType(MediaType.APPLICATION_XML_VALUE);
response.setHeader("Content-Disposition", "attachment; filename=" + "ergebnisprot_" + new DateTime().toString("ddMMyyyyHHmmSS") + ".xml");
response.flushBuffer();
如果只聚合大约一到五个响应,那么这种方法效果很好。浏览器会弹出一个下载窗口,所有内容都按预期的方式进行

但是,对于较大的文件,取决于单个大小,但通常从10个响应开始,这个弹出窗口不会出现。取而代之的是,浏览器呈现xml本身,这是不可取的,因为用户认为没有文件在其硬盘上,或者必须自己将其复制到文件中是没有用的


有人知道为什么会发生这种行为吗?我是否在标题配置中遗漏了一些内容?

我会猜作为附件的“内容处置”会起作用。但事实并非如此?一种有点脏的方法是将内容类型设置为application/octet-stream。是的,这是我的想法,但不知何故它没有,至少不可靠。我会尝试一下八进制流,但老实说,我对此表示怀疑。我担心浏览器可以处理的XML内容会以某种方式影响它。