POI 在后端处理后数据,如何让前端自动下载呢?下载前端接受的乱码,而不是文件
现在的流程是这样的,在前端简单地发个请求,然后,后端处理数据,生成了excle文件,然后返回数据给前端。
但是前端怎么自动弹出下载框自动下载文件呢?现在接收的是乱码...
@RequestMapping(value = "/toExportData.req", method = RequestMethod.POST)
public ResponseEntity exportRequest(@RequestParam("array") String arr) {
String name = "export.xlsx";
ResponseEntity responseEntity = null;
ByteArrayOutputStream os = new ByteArrayOutputStream();
byte[] body = null;
InputStream is = null;
try {
createExcelFile().write(os);
body = os.toByteArray();
System.out.println("读取 输入流.....");
HttpHeaders headers = new HttpHeaders();
HttpStatus httpStatus = HttpStatus.OK;
System.out.println("设置headers。。。。");
headers.add("Content-Disposition", "attachment;filename=export.xlsx");
headers.setContentType(MediaType.valueOf("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"));
System.out.println("headers is: " + headers);
responseEntity = new ResponseEntity(body, headers, httpStatus);
System.out.println("responseEntity:" + responseEntity);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return responseEntity;
}
然后,请求时成功的,并且是有东西返回的:
内容是乱码:
前端的请求代码:
理应是一个xlxs的文件才是!!!
怎么在前端接收呢??
相关阅读:
关于C++返回值的类型
php将数组键值相同的数组合并数组为一个数组
JS创造闭包的目的是为了模仿C# java那样来实现面向对象吗
如何用python把返回的html提取相应的内容到excel
请问这使用的是什么架构技术?
刚开始看 linux 内核,哪个版本比较合适呢?
AFNetwork请求参数格式问题
PDOStatement如何定义成员变量的,如何实现存储查询结果
TypechoComment()未自动加载
Java中volatile的疑问
php正则表达式问题??
android studio启动模拟器后run窗口打印的日志中文乱码如何解决
微信如何表关联openid
使用registerTempTable创建的表,能insert数据吗?
js可以实现系统自带文件保存对话框吗?
在Mac下安装sublime_text的包管理文件,想请教~
用python2.5 抓包时没有任何反馈,不清楚是什么原因?
chrome浏览器选择记住密码后,如何避免对所有input标签进行自动填充?
请教,如果使用spyder编写python代码,如何可以查看类实例中的成员值?
php module.so\dll & java.class