项目中要用到在线预览word文档,刚开始考虑是要将word转成pdf文件,然后再直接在浏览器打开pdf文档即可,

但是项目部署在Linux下,在网上搜了一下没有找到合适的方法,

后来项目组讨论用POI生成HTML文件,但是生成的HTML文档是额外生成的,浏览器是无法直接访问POI生成的html文件的,

Not allowed to load local resource: file:///D:/images/word/media/image1.png

这个错误给整的明明白白的。

后来尝试

                  out=response.getOutputStream();
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
response.setContentType( "text/html;charset=UTF-8" );
XHTMLConverter.getInstance().convert(document, out, options);
out.flush();
out.close();

HTML文件倒是能在页面上显示,但是里面的图片还是显示不出来。404又给我整明白了,因为部署的项目里是没有这些图片的,完全一厢情愿。

没办法了,咨询项目大神,大神就是大神,脑袋都没拍就想到一个方法。

————————————————————

在springmvc-servlet.xml配置文件中

mvc:resources 是加载静态文件的

详见

https://www.cnblogs.com/linnuo/p/7699401.html

在项目中pringmvc-servlet.xml文件里加入

  <mvc:resources mapping="/wordview/**" location="file:D:/POITransforms/" />

将html文件放在固定的D:/POITransforms/里,文件夹可以有子集文件夹,子文件夹名可以是自定义的UUID,

我这边点击预览按钮是弹窗里面嵌入了一个iframe , iframe src路径为:

Util.getPath()+'/wordview/temp/5570c3fba83f464fa383e58cd394f860/transforms.html'

另:_________________________________________________________________

//获取项目名称
getPath:function(){
  return location.pathname.match(/\/(.+?)(?=\/)/g)[0];
}

temp/5570c3fba83f464fa383e58cd394f860/transforms.html 这一串是返回给前台的生成的HTML文件路径,是固定在D:/POITransforms/

这样一写齐活了,然后再删除D:/POITransforms/   就可以了

spring-mvc访问本地html文件的更多相关文章

  1. Spring MVC 处理静态资源文件

    摘要: 三个方案: 1.方案一:激活Tomcat的defaultServlet来处理静态文件 2.方案二: 在spring3.0.4以后版本提供了mvc:resources (需要配置annotati ...

  2. 转载 Spring、Spring MVC、MyBatis整合文件配置详解

    Spring.Spring MVC.MyBatis整合文件配置详解   使用SSM框架做了几个小项目了,感觉还不错是时候总结一下了.先总结一下SSM整合的文件配置.其实具体的用法最好还是看官方文档. ...

  3. spring mvc(注解)上传文件的简单例子

    spring mvc(注解)上传文件的简单例子,这有几个需要注意的地方1.form的enctype=”multipart/form-data” 这个是上传文件必须的2.applicationConte ...

  4. node.js简单搭建服务,访问本地站点文件

    1.安装nodejs服务(从官网下载安装),node相当于apache服务器 2.在自己定义的目录下新建服务器文件如 server.js 例如,我在D:\nodeJs下创建了server.js文件 v ...

  5. Spring MVC、MyBatis整合文件配置详解

    Spring:http://spring.io/docs MyBatis:http://mybatis.github.io/mybatis-3/ Building a RESTful Web Serv ...

  6. 搭建nodejs服务,访问本地站点文件

    搭建nodejs服务器步骤: 1.安装nodejs服务(从官网下载安装) 2.在自己定义的目录下新建服务器文件如 server.js 例如,我在E:\PhpProject\html5\websocke ...

  7. 80.简单搭建nodeJS服务,访问本地站点文件

    转自:https://blog.csdn.net/iteye_1217/article/details/82679843 搭建nodejs服务器步骤: 1.安装nodejs服务(从官网下载安装),no ...

  8. Spring MVC访问静态资源

    http://www.cnblogs.com/yank/p/4477204.html SpringMVC访问静态资源 在SpringMVC中常用的就是Controller与View.但是我们常常会需要 ...

  9. 基于Spring Mvc实现的Excel文件上传下载

    最近工作遇到一个需求,需要下载excel模板,编辑后上传解析存储到数据库.因此为了更好的理解公司框架,我就自己先用spring mvc实现了一个样例. 基础框架 之前曾经介绍过一个最简单的spring ...

  10. Spring、Spring MVC、MyBatis整合文件配置详解

    原文  http://www.cnblogs.com/wxisme/p/4924561.html 主题 MVC模式MyBatisSpring MVC 使用SSM框架做了几个小项目了,感觉还不错是时候总 ...

随机推荐

  1. 巧妙使用excel 实现行转列

    1. 本来想通过写sql的方式来实现简单的行转列 但是 时间要求很紧 (主要是自己懒 并且sql写的不好. ) 通过同事提醒 以及百度 找到一个很简单的方法,通过excel 来实现. 2. 具体操作步 ...

  2. Javascript实现base64的加密解密

    //1.加密解密方法使用: //1.加密 var str = '124中文内容'; var base = new Base64(); var result = base.encode(str); // ...

  3. npm link & unlink

    npm link & unlink https://dev.to/erinbush/npm-linking-and-unlinking-2h1g

  4. mysql-笔记 隔离级别、事务

    1 隔离级别:低级别的隔离通常可以执行更高的并发,系统 开销也更低 2 Read uncommitted:事务可以读取未提交的数据,脏读,应少用 3 read committed:不可重复读,事务只能 ...

  5. ILRuntime_NewbieGuide—导读

    Welcome to the ILRuntime_NewbieGuide wiki! 入门篇:做个简单的案例 https://www.cnblogs.com/kerven/p/10237280.htm ...

  6. MT【325】垂心的向量形式

    设$H$为垂心,且$3\overrightarrow{HA}+4\overrightarrow {HB}+5\overrightarrow {HC}=\overrightarrow 0$,则$\cos ...

  7. 什么是MIPI

        随着客户要求手机摄像头像素越来越高同时要求高的传输速度传统的并口传输越来越受到挑战.提高并口传输的输出时钟是一个办法但会导致系统的EMC设计变得越来困难,增加传输线的位数是但是这又不符合小型化 ...

  8. About me & 留言板

    本人名字首字母gzy,就读于gryz,是高二在读生,也是一名oier. 老婆:远近渔. 爱好: 各种体育类项目,(但是不精通,不会打台球),喜欢摄影作品,喜欢听rap和摇滚,也喜欢一些描述生活英文歌曲 ...

  9. Centos6安装Percona-tools工具

    Centos6安装Percona-tools工具 环境:centos6.x yum -y install perl-DBI yum -y install perl-DBD-MySQL yum -y i ...

  10. Unity安装(Windows版)

    Unity下载助手 Unity下载助手是一个小型可执行程序(大小约为1 MB),它允许您选择要下载和安装的Unity Editor的那些组件. 如果你不知道要安装,保留默认选择,单击继续 ,然后按照安 ...