原来一直使用的是PrintWriter out = response.getWriter();的方式,现在出现乱码。用以下方式可以解决。
BufferedInputStream in =new java.io.BufferedInputStream(new java.io.FileInputStream(fileUrl));
BufferedOutputStream out=new java.io.BufferedOutputStream(response.getOutputStream());
byte[] buff = new byte[2048];
int bytesRead;
response.setContentType("application/octet-stream;charset=gbk");
response.setHeader("Content-Disposition","attachment;filename = "+fileName);
while (-1 != (bytesRead = in.read(buff, 0, buff.length))) {
out.write(buff, 0, bytesRead);
}
in.close();
out.close();
浙公网安备 33010602011771号