最近经常有人问起上传文件不想用第三方文件服务器,想上传到服务器硬盘里该如何读取?
其实这有N多种解决方案,比如:
1.nginx 利用alias或者root静态路径映射。
2.如果有专门为前端项目搭建node 服务的话,也可以蹭在node映射的文件夹下。
3.使用tomcat
......
当然,这些应该是经常见到的操作了。但是如果我们的服务器没有这些配置,只启动一个java jar 包的情况下,想把服务器硬盘下的某个文件夹映射成静态资源,再利用项目域名直接访问该如何配置呢?
其实配置很简单,使用过springboot的小伙伴都应该知道在springboot项目中,配置项目内resources文件下的静态资源访问只需要在yml 或者properties文件夹中加上以下代码 (static-locations的写法这里就不赘述了):
#yml
spring:
resources:
static-locations: classpath:/static/
classpath是修饰项目resources 下的相对路径,但是现在想要将服务器的/opt/fileupload/作为文件上传路径,如下:
#yml
spring:
resources:
static-locations: classpath:/static/,file:/opt/fileupload/fifa/
只需要在硬盘绝对路径前面加上file即可。
发包并验证静态路径是否生效:
虽然是个很简单的操作、很简单的配置,但是记录并分享一下总是能帮助到其他朋友的。
----我是francis,谨以此记录并分享自己精彩的程序人生!!