求大神指点... 我要做一个简单的word导出,前台是ajax,我在后台使用了response.getOutputStream();但是浏览器并没有响应.

weixin_42180873 2018-12-20 09:52:00
求大神指点... 我要做一个简单的word导出,前台是ajax,我在后台使用了response.getOutputStream();但是浏览器并没有响应.
...全文
648 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
maradona1984 2018-12-20
  • 打赏
  • 举报
回复
ajax是做不了导出的,一般做法是ajax的请求生成文件,然后响应地址给前端,前端再访问该地址,当然这样也是有问题的,如果生成在本地的话集群环境下是有问题的
比较好的方案可以考虑用隐藏的iframe来做,看起来和ajax一样,创建一个隐藏的iframe,地址指向导出页面,然后再响应
weixin_42180873 2018-12-20
  • 打赏
  • 举报
回复
而且我的后台方法public void exportArticle(HttpServletResponse response) throws Exception{} 参数如果写上response,后台方法就请求不到
高 斯林 2018-12-20
  • 打赏
  • 举报
回复
// 设置字符编码
httpURLConnection.setRequestProperty("Charset", "UTF-8");
bin = new BufferedInputStream(httpURLConnection.getInputStream());
//1.设置文件ContentType类型,这样设置,会自动判断下载文件类型
response.setContentType("multipart/form-data");
//2.设置文件头:最后一个参数是设置下载文件名
fileName = new String(fileName.getBytes("UTF-8"), "ISO-8859-1");
response.setHeader("Content-Disposition", "attachment;fileName=" + fileName);
out = response.getOutputStream();
byte buffer[]=new byte[1024];//设置缓冲区
int len=0;



//TODO 核心代码就这么点,前端请求接口,浏览器会自动下载的,不用任何处理,可以加QQ1017150271详谈

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧