4
回答
求助:我的servlet下载zip数据总是无法弹出下载窗口,怎么解决?
华为云实践训练营,热门技术免费实践!>>>   

最近变问题宝宝了。。。

上相关代码:

js:dataParams是请求参数

$.ajax( {
		url : "../monitorlog.action",
		contentType : "application/x-www-form-urlencoded; charset=utf-8",
		type : 'get',
		data : dataParams,
		error : function(XMLHttpRequest, textStatus, errorThrown) {
			showError(XMLHttpRequest.responseText);
		}
	});

后台:

resp.setContentType("application/vnd.ms-excel");
resp.setHeader("Content-Disposition", "attachment;filename=" + new String((fileName).getBytes(), "ISO-8859-1"));	
OutputStream out = resp.getOutputStream();
			    
ExportTemplet.downloadLogs(files, out);	

//---------------------------------------	
ZipOutputStream zos = new ZipOutputStream(new BufferedOutputStream(os, 1024));
		try{  for(File f:files){
				zos.putNextEntry(new ZipEntry(f.getName())); 
				System.out.println(f.length());
				FileInputStream fis = new FileInputStream(f);  
		        byte[] buffer = new byte[1024];  
		        int r = 0;  
		        while ((r = fis.read(buffer)) != -1) {  
		            zos.write(buffer, 0, r);  
		        }  
		        fis.close();
			}
			zos.flush();  
			zos.close();
从开发工具里看到页面请求相应为


<无标签>
举报
落落的月
发帖于5年前 4回/690阅
顶部