【已解决】解决Springboot项目访问本地图片等静态资源无法访问的问题

  • 作者: 凯哥Java(公众号:凯哥Java)
  • 工作小总结
  • 时间:2023-07-22 10:36
  • 2268人已阅读
简介 【已解决】解决Springboot项目访问本地图片等静态资源无法访问的问题

🔔🔔🔔好消息!好消息!🔔🔔🔔

有需要的朋友👉:联系凯哥 微信号 kaigejava2022

今天在开发一个招聘系统的时候,有投递简历功能,有投递就会有随之而来的查看简历对吧,我投递过的简历,另存为一个文件夹,就是说本地磁盘(或者服务器)有一个专门存放投递过的简历的文件夹,用于存放PDF(此文件夹不在项目目录下),比如说文件夹在这个位置,那么我的项目就得必须读取到这个文件夹的url里的pdf文件也好,img也好,然后我就遇到了各种问题读取不到;

首先说一下:我的项目是在F盘的,资源文件是在这个D盘
那么我的项目在运行过程当中,怎么才能读取到这个磁盘下的资源文件呢?

f795f667d972add852b55e70a90c8a60.png

我用的后端是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我在说一下,有时候能显示,有时候不能显示,可能是我不会用吧。


__EOF__


TopTop