解决Springboot项目访问本地图片等静态资源无法访问的问题
今天在开发一个招聘系统的时候,有投递简历功能,有投递就会有随之而来的查看简历对吧,我投递过的简历,另存为一个文件夹,就是说本地磁盘(或者服务器)有一个专门存放投递过的简历的文件夹,用于存放PDF(此文件夹不在项目目录下),比如说文件夹在这个位置,那么我的项目就得必须读取到这个文件夹的url里的pdf文件也好,img也好,然后我就遇到了各种问题读取不到;
首先说一下:我的项目是在F盘的,资源文件是在这个D盘
那么我的项目在运行过程当中,怎么才能读取到这个磁盘下的资源文件呢?
我用的后端是Springboot;
首先说一下非前后端分离的吧:
- 在Springboot的配置文件里加一句
spring:
web:
resource:
static-locations: classpath:/static/,file:${web.upload-path}
web:
upload-path: D:/file/
这句话的意思就是说D:/file/这个文件夹就是 资源文件夹 ,D:/file/ 映射为后端端口:http://ip:port了,我们要想访问的话(非前后端分离项目)直接加具体文件的路径即可
例如:我想访问 XXX.pdf, 在项目中如何访问呢?
那就是 /url/4_url/xxx.pdf 就可以了.
就是 src:/url/4_url/xxx.pdf
再来说一下前后端分离的
我用的是VUE+Springboot,
我在用这个的时候 显示pdf或者静态资源图片等文件的时候,,今天来说一下 无法显示的问题。
老样子一样是在后端的yml文件中配置 静态资源的路径。配置完之后,Vue前端如何访问呢?
首先 后端有个真实端口(server.port);
我是在个人电脑上 开发的, 我的前端:8080 代理:9999 后端:9090
vue前端要是想访问:http://localhost:9090/url/4_url/xxx.pdf 就可以访问了,
但是在这个过程中 如果资源是图片访问没有任何问题,
但是我这个是PDF,src:http://localhost:9090/url/4_url/xxx.pdf 可行吗?
不知道为什么 ,不行,可能是我用错了,控制台打印一堆警告,有时还打印有跨域问题;
来说一下我的解决方案:改用a标签
<a :href="local+PDFUrl" target="_blank" >查看</a>
local: http://localhost:9090
pdfurl: /url/4_url/xxx.pdf
点击的时候会自动弹出去,打开一个新界面查看pdf。
这就是我的解决方案,
pdfjs我在说一下,有时候能显示,有时候不能显示,可能是我不会用吧。