前端http访问后端进行文件下载功能,主要需要设置http相关相应参数,主要方法代码如下:
/**
*
* str 自定义导出的内容模板格式
* fileName 文件名
*
**/
public void exportFile(String str,String fileName) throws IOException {
HttpServletResponse response = super.getResponse();
response.setContentType("text/plain");
response.setHeader("Content-disposition","attachment;filename=" + new String(fileName.getBytes("UTF-8"),"ISO8859-1"));
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
StringBuffer sb = new StringBuffer();
sb.append(str);
String strl = sb.toString();
try{
bis = new BufferedInputStream(new ByteArrayInputStream(strl.getBytes("utf-8")));
bos = new BufferedOutputStream(response.getOutputStream());
// 创建缓冲区
byte buffer[] = new byte[1024];
int length = 0;
// 循环将输入流中的内容读取到缓冲区当中
while((length=bis.read(buffer))>0){
// 输出缓冲区的内容到浏览器,实现文件下载
bos.write(buffer, 0, length);
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(bis != null){
bis.close();
}
if(bos != null){
bos.close();
}
}
}