写文件下载接口中,发现不能再使用 resp.getWriter().write(""); 然后就报错:
getOutputStream() has already been called for this response
resp.setHeader("content-disposition", "attachment;filename="
+ URLEncoder.encode(name, "UTF-8").replaceAll("%28", "(").replaceAll("%29", ")"));
OutputStream out = resp.getOutputStream();
byte buffer[] = new byte[1024];
int len = 0;
// 循环将输入流中的内容读取到缓冲区当中
while ((len = in.read(buffer)) > 0) {
// 输出缓冲区的内容到浏览器,实现文件下载
out.write(buffer, 0, len);
}
// 关闭输出流
out.close();
// 关闭文件输入流
in.close();
//long s = new Date().getTime();
//Thread.sleep(2000);
// long s1 = new Date().getTime();
// System.out.println(s1 - s);
resp.getWriter().write("");
现在的目的是既能使用resp.getOutputStream();也能使用resp.getWriter().write("");
有木有大神能帮忙解决一下???