浏览器通过SpringBoot内置tomcat访问服务器文件

  写在前面:来了一个新需求,要求在h5上预览pdf,本来让我写前端,无奈鄙人前端道行太浅(其实后端也浅),折腾了一天pdf.js,也没个结果。论项目经理对一个人失望,是怎么样的反应:算了算了,你去把后台服务做好吧。然后就有了我这个新需求:给前台返回一个地址,可以直接打开服务器上的PDF文件。

  写在前面的后面:如果直接用地址就能打开文件,那我们可以在web服务器上配置虚拟路径,就可以直接访问文件了。好像用ftp也行,不过我不太熟悉。下面就让我从盘古开天劈他开始,记录一下我的整个实现流程,毕竟也花了我不少时间


首先为了验证这个方案是可实现的,我先下载了tomcat8先测试一下。

1.配置虚拟主机

  在安装目录中打开conf/server.xml,增加以下内容。

<Context docBase ="C:\PDF\" path ="/pdf" debug ="0" reloadable ="true"/>

  

   docBase:电脑真实目录         path:映射路径

2。启动tomcat

  在bin目录下,双击一下两个文件之一即可

  

 3.验证

  先看看文件所在路径,文件是真实存在的。

  

   启动tomcat后,在浏览器输入http://localhost:8080/pdf/傻瓜菜谱--献给不会炒菜的80后们.pdf

  

 就很完美了。

然后我们就要开始做正事了,服务器上并没有安装tomcat,使用的是SpringBoot内置的tomcat,所以我们很有必要在boot配置文件中配置一下内置tomcat的虚拟主机

  

 详细配置介绍我这里就不讲了,因为我也不太懂哈哈,参考博客:https://liuyanzhao.com/7599.html

然后就差不多了,启动项目以后,浏览器输入 http://localhost:8071/傻瓜菜谱--献给不会炒菜的80后们.pdf 也能看到pdf文件的打开了。如果程序上传至服务器中,要注意ip以及端口的改动。还要注意的是大家看我现在写的真实目录在我的C:\PDF下,因为我的电脑和服务器都是Windows系统,所以使用Linux服务器的同学要注意了,目录要写对。


写在最后:至此,现在我们只需要写个接口,利用File类遍历C:\PDF\目录下的文件,然后再前面加上协议,ip,端口,形成一个完整的URI字符串返回给前台,他们就可以用这个地址完成PDF的预览的。文章略显基础,因为我之前是真的不太懂,做个记录,而且我一直相信任何技术领域,基础都是最核心的东西。晚安!

猜你喜欢

转载自www.cnblogs.com/studentc/p/11870257.html