我通过java将.zip文件导出到服务器位置(Unix环境)。 (例如:123_abc.zip,里面有123_abc.txt) 在验证位置时,创建了适当的.zip文件,其中还包含.txt文件。
尝试从该位置下载同一文件时,通过java,标题信息将作为“application / zip”传递。 下载的文件是123_abc.zip,在解压缩时它内部有123_abc.zip,这是一个OUT文件。在进一步解压缩时,获得了123_abc.txt。
不希望出现.zip中存在的OUT文件。 请注意:当执行导出/下载.zip文件任务的应用程序部署在门户网站应用程序中时,会观察到这种情况。在门户网站的缺席,我的代码工作正常,OUT文件没有创建。 (Portal是一个基于菜单的应用程序,它将托管我的应用程序)
代码段:
FileInputStream in =
new FileInputStream("/opt/xxx/xxx/123_abc.zip");
response.setContentType("application/zip");
response.setHeader(Content-Disposition,attachment;filename="123_abc.zip");
ServletOutputStream out = response.getOutputStream();
byte[] bytes = new byte[1024];
while((length=in.read(bytes)) != -1){
out.write(bytes, 0, length);
}
in.close();
out.flush();
out.close();
如果有人遇到类似的情况,请告诉我/造成OUT文件创建的原因是什么。