文件服务,目前有几种方案:1.阿里云等厂商的oss之类的服务,2基于fastdfs,3.本地化方案
本篇文章的目标为本地化,适用于小形的文件存储,主要目标为:
1.通过java文件服务,将文件,或者图片上传到服务器(linux)
2.将其它环境下的图片资源,存储到文件服务器上
3.同时支持文件服务上传的文件和已经存在的静态图片,
a:通过http硬访问静态图片
b: 可以通过文件服务下载,或者访问文件(文件服务已经支持)
使用到的环境:nginx,springboot 文件服务,linux环境
1.配置nginx服务
参见:https://www.jb51.net/article/253699.htm
2.部署文件服务
nacos,mysql , jar 包等
扩展:
将jar服务,直接对外映射静态资源(已验证)
https://blog.csdn.net/asd54090/article/details/127732625
二者其一:
yml配置方式:
server.port=8086
server.servlet.context-path=/iserver
spring.output.ansi.enabled=ALWAYS
spring.mvc.static-path-pattern=/static/** //将classpath下的目录静态
spring.mvc.format.date=yyyy-MM-dd HH:mm:ss
程序方式:
project.static = D:/Tasks/
public class WebMvcConfig2 extends WebMvcConfigurationSupport {
private String staticPath; /** * 跨域 **/ @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedHeaders("*") .allowedOrigins("*") .allowedMethods("POST","GET","PUT","OPTIONS","DELETE") .allowCredentials(true); } /** * 静态资源处理 **/ @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { //将目录静态 registry.addResourceHandler("/file/**").addResourceLocations("file:" + staticPath); registry.addResourceHandler("/dir/**").addResourceLocations("file:" + staticPath); //添加classpath下的目录 registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/"); }
}