能否用配置实现图片的上传位置,
比如我配置local,就上传到本地,
配置ali,就传到阿里云?
肯定能,这不是你自己写代码实现的东西吗?
我是来要具体实现思路的,hiahiahia
?你配置一个属性在后台配置文件就行
if local {
// 上传本地
} else {
// 上传OSS
}
你这一点不优雅
想要优雅点也行,先写一个接口,local一个实现类,ali一个实现类,依据yml配置,向spring 里面注入不同的bean, 使用的时候使用接口。
策略模式 或者 过滤器链模式 完美解决啊
1 Like
具体思路要看环境的,比方说你k8s部署了你的项目,底层的文件系统必然就是ceph了,那根本就不需要传到阿里云了,ceph本身就是安全的分布式文件系统,这种情况你就开辟一个路径,把这个路径通过k8s挂载到你的ceph文件系统,你如果使用的是传统Tomcat之类,而你又有钱买阿里云存储,那不妨更进一步,买他的k8s服务不更好吗?同时解决部署和文件系统问题
用七牛,便宜
肯定可以啊,使用面像接口的思路,大体步骤是:
- 先定义好上传文件的接口
- 再分别开发本地上传、阿里云上传、等等的实现类
- 再通过配置文件来选择启用的文件上传的实现类,具体启用方法:
可以使用工厂设计模式或者使用spring boot的@ConditionalOnExpression注解来启用
嗯蟹蟹大佬