码迷,mamicode.com
首页 > 编程语言 > 详细

spring-mvc访问本地html文件

时间:2018-02-24 18:03:41      阅读:267      评论:0      收藏:0      [点我收藏+]

标签:ade   ima   getpath   按钮   tin   xml文件   flush   nsf   image   

项目中要用到在线预览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文件

标签:ade   ima   getpath   按钮   tin   xml文件   flush   nsf   image   

原文地址:https://www.cnblogs.com/laorenzhenhaoa/p/8466883.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!