上一篇文章我们《Spring Cloud微服务项目模板系列(四)添加rocketmq公共消息队列模块》我们为微服务项目添加了消息中间件rocketmq,这篇文章我们介绍下为微服务模块添加文件上传。
文件上传几乎都是每个项目的标配,在真实的环境中,在真实的业务中,这里可能会抽出一个单独的业务组,主要对接各种文件的管理(这种场景一般在C端,而且业务量非常大的情况下)。这里我们主要是小项目,因此也需要为微服务提供一个公共的文件上传模块:shop-common-file
这里面代码量会比较少,主要是由于我们使用了filestorageservice这个框架,因此集成的代码非常,他适配各种第三方的文件存储,例如:
本地 FTP SFTP WebDAV AWS S3 MinIO 阿里云 OSS 华为云 OBS 七牛云 Kodo 腾讯云 COS 百度云 BOS 又拍云 USS 金山云 KS3 美团云 MSS 京东云 OSS 天翼云 OOS 移动云 EOS 沃云 OSS 网易数帆 NOS Ucloud US3 青云 QingStor 平安云 OBS 首云 OSS IBM COS 谷歌云存储 其它兼容 S3 协议的平台
filestorage的官网是:Filestorage官网.
这里的话,我们想要切换不同的平台只需要修改配置文件即可,不需要修改代码部分。例如:
详细的直接看源码即可,文末提供源码。
备注:
1、对于文件模块一般我们是放在整个微服务体系里面的,主要是由于有部分公共的common模块。
2、对于文件模块的部署,我们一般不需要集成nacos注册中心,这块直接挂在nginx的目录下,上传的时候直接走nginx上传,然后返回对应的url,在真实的业务中直接post url数据即可。
3、如果项目中有部分业务场景,例如:先处理业务,业务处理成功后才上传文件,这块的话可以从两方面进行改善,第一个方面是产品的设计上,第二个方面是把fileservice挂到注册中心上,使用feign或者resttemplate进行上传。
最后按照管理,附上本案例的源码,登录后即可下载。
还没有评论,来说两句吧...