关于springboot上传完文件读取时资源目录未更新的情况
之前在实现教学视频上传功能的时候碰到了一个问题,那就是每上传完一个视频文件,页面找不到对应的路径,必须重新构建项目才能找到相应的文件
今天在课堂上向老师咨询,才明白java web项目读取资源并不是读取实际的本地资源,而是读取target对应目录下的,每个项目都会生成一个对象的target目录
这是我们原本的目录
这是对应生成的target目录
后来我慢慢摸索的时候发现,当我新添加一个视频文件,第一个video目录下的文件进行了更新而target下video下的视频文件没有更新,当我重启项目的时候,编译器对本地文件进行了重新读取,然后target目录下对应的资源文件才会更新
解决方案
在网上找了许多资料想要对target目录进行自动更新都无果,而且感觉十分麻烦
于是我就直接采用另一种方式,那就是直接读取本地目录下的视频文件,通过添加一个虚拟路径设置
spring.mvc.static-path-pattern=/**
video=D:/JavaProject/AcademicAdministration/src/main/resources/static/video/
spring.web.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:${video}
这样写路径的时候直接写/+文件名,实际为localhost:8080/文件名,就可以读取到对应D:/JavaProject/AcademicAdministration/src/main/resources/static/video/的视频文件了