实现目的,主要是将 ntko editoffice.jsp intializePage(url) 下的url改成从本地地址,改成可以返回二进制文档流的后台接口地址。

令人奇怪的是不管怎么弄,ntko总是会跳出文件存取错误的窗口,数据流postman看过了没问题,路径后台显示已经访问成功了。

解决方案:

response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes()));

添加这行,代码设置response编码格式。按理说,问题就应该解决了,但我这一行代码写在了response.getOutputStream后面了,结果出现和正确代码相似99%,但问题依然在的情况。

后来发现,response光有.addHeader("Content-Disposition")还不行,还需要写在response.setContentType()前面,写在后面就会出错。那个如果是要写在后面的话是用.setHeader可以通过,原因应该是response.setContentType方法同时已经设置了header了,需要用setHeader来覆盖。这个坑有点深,我半天爬不出来。

最后代码:

控制器部分:

public void getWord (String fileNameDisk, HttpServletResponse response){try{System.out.println(fileNameDisk);System.out.println("=============生成word数据=================");byte[] data=service1.getWordBytes(fileNameDisk);System.out.println("=============添加到response===============");response.addHeader("Content-Disposition","attachment;filename="+new String(fileNameDisk.getBytes()));//这个很重要不加会出错response.addHeader("Content-Length",""+data.length);//这个要放在前面response.setContentType("multipart/form-data");OutputStream out=new BufferedOutputStream(response.getOutputStream());out.write(data);out.flush();out.close();
//            response.setCharacterEncoding("utf-8");
//            response.setContentType("application/msword;charset=UTF-8");
//            String header="attachment;filename="+fileNameDisk;
//            response.addHeader("content-disposition",header);}catch(IOException e){e.printStackTrace();}}

sevice部分

public byte[] getWordBytes(String fileNameDisk) throws IOException{String url=FilePathInfo.absoluteOfficeFileDir+fileNameDisk;File f=new File(url);// byte[]result=new byte[(int) f.length()];FileInputStream fis=new FileInputStream(url);InputStream is=new BufferedInputStream(fis);byte[]result=new byte[is.available()];is.read(result);//用fis 和 is结果似乎差不多is.close();return result;}

关于ntko从后台传输文档时发生文件存取错误,暨关于response使用的注意点相关推荐

  1. html保存导入word文档格式,WordPress网站在导入Word文档时如何保持原有格式

    WordPress程序后台有文章发布功能,可以添加文字和图片.如果想将自己在排版好的Word 文档导入到WordPress ,作为文章发布,却不是一件容易的事情,如果我们直接复制,Word 文档本身的 ...

  2. SPA 项目 之 后台接口文档

    SPA 项目 之 后台接口文档 SPA 项目 之 后台接口文档 用户注册 用户登录 数据增加 数据删除 数据修改 数据查询 SPA 项目 之 后台接口文档 用户注册 用户注册接口调用: http请求方 ...

  3. 开发在线文档时,这个技术难点你解决了吗?

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. "时势造英雄",是亘古不变的真理.在当前的时代背景下,在线文档可以称得上是这样的&quo ...

  4. ireport生成html横线多出,iReport4.5.1、Struts2.2.3生成Html文档时页面红叉叉的解决办法。...

    iReport4.5.1.Struts2.2.3生成Html文档时页面红叉叉的解决办法. 这些个小红叉叉甚的恼人! 解决方法如下: 而且后台报错: 提示找不到名字为px的action 警告: Coul ...

  5. php列表显示教程,Dedecms后台管理文档列表显示自定义字段方法教程

    有客户提出要求,在DEDECMS后台管理文档列表中,需要在列表中显示自定义的字段内容,在默认状态下,这些字段是不会再列表中显示的,下面就是解决方法: 找到dede/content_list.php文件 ...

  6. mongodb插入文档时不传ObjectId

    type BookExt struct {ID bson.ObjectId `bson:"_id"`Title string `bson:"title"`Sub ...

  7. html图片按页码显示,html - 在打印html文档时显示页码 - 堆栈内存溢出

    几个月前,当我使用以下代码在浏览器(firefox)中打印HTML文档时,能够显示页码: body { width: 300px; counter-reset: page; } #header { b ...

  8. vb.net 设置打印纸张与页边距_装订文档时不想让文字被挡住?在Excel中你可以这样设置打印!...

    平时我们在打印文档的时候,通常会把文档左侧的页边距设置的大一点,这样在装订的时候显得美观一点.但如果我们进行双面打印时,文档左右两边的页边距刚好相反,装订时第2页的文本很容易被挡住,这样子反而更难装订 ...

  9. 关于Typora编辑器编写markdown文档时插入出现前字吞后字的解决方法

    关于Typora编辑器编写markdown文档时插入出现前字吞后字的解决方法 原因是按到了键盘上的Insert键,使得编辑模式变为了改写,所以会把文本替换掉,这个按键没有状态标示.

最新文章

  1. python点到向量的距离,夹角
  2. Httpwatch 工具介绍
  3. CodeForces - 1506G Maximize the Remaining String(单调栈+贪心)
  4. Java趣味分享:try/finally
  5. 数据传输服务 DTS > 数据迁移 > 支持的数据库和迁移类型
  6. POJ3264Balanced Lineup(线段树)
  7. Egret入门学习日记 --- 第八篇(书中 2.0~2.6节 内容)
  8. Python编写的强大的、通用的解析器
  9. 网上图书购买系统可行性研究报告
  10. 把数字翻译成字符串(递归,动态规划)
  11. python采集小说网站完整教程(附完整代码)
  12. 不用下载软件,免费将PDF文件缩小的方法分享
  13. Elasticsearch2.3.4集群安装指南
  14. 数据库异常状态:Recovery Pending,Suspect,估计Recovery的剩余时间
  15. java最常见的三种问题,404,500以及无法访问
  16. 启示录java游戏_龙之幻想启示录(正版)
  17. 吐槽大会java_Rust吐槽大会纪要
  18. 高通转单台积电,联发科的高端梦悬了
  19. 高速公路隧道交通安全设施的设置、管理要点
  20. linux浏览器无法下载,红芯浏览器目前已经无法正常下载到

热门文章

  1. 智力题——1红蓝墨水
  2. 电子墨水屏标签:低功耗处理器技术
  3. 网信耕耘十余载,金融安全3.0时代的缔造者
  4. 不换行输出的两种方式
  5. 速度/效率远比你以为的重要
  6. 英魂之刃服务器维护进不去,英魂之刃口袋版为什么进不去 进不去解决方法
  7. Java SSLSocket的使用
  8. Pandas中DataFrame基本函数整理(全)
  9. 【Thingsboard】源码分析:Actor模型架构
  10. keras神经风格迁移_知识分享 | 神经风格迁移-把每一张图片都变成自己喜欢的样子...