【RuoYi-Vue-Plus】学习笔记 38 - OSS模块(八)V4.2.0+ 版本OSS文件上传流程

前言

一般的小型开发

OSS 功能其实算是后台管理框架中比较基础的功能,一般小型项目开发中,很常是对接一家云厂商,把一些相关的参数配置到配置文件中(或者持久化到数据库,在系统参数中进行管理),然后对接相关的 SDK 即可完成功能。

这样开发的好处是快速、简单。大型云厂商的文档配置都很全面,甚至像阿里、鹅这种大厂可以直接在调试控制台根据测试的参数直接生成代码,直接复制粘贴即可使用。

但是这样的操作,说句不好听的,有手都能做,甚至不需要去看到底是经历了什么过程,因为这些底层都已经做好了。

那为什么还要写呢?

为什么要写 OSS 上传?

其实这个功能不复杂,但是如果让我设计像【RuoYi-Vue-Plus】框架中的结构我是肯定设计不出来的,正因为好所以才值得学习。

坦白说,能一直坚持写博客的原因是因为能够督促自己去学习框架中用到的不同的东西,去吸收所有好的,对我而言,能够站在巨人的肩膀上去学习是一件很幸福的事情。

扯远了,回到本文,一起来看看新版本 V4.2.0+ 的 OSS 上传功能。

参考目录

调用流程分析

上传流程并不复杂,本文以 MinIO 为例进行说明。

1、SysOssController#upload

在这里插入图片描述

2、SysOssServiceImpl#upload

在这里插入图片描述
这里主要有几个步骤:

  1. 获取文件后缀
  2. 通过 OssFactory 实例化 OssClient
  3. 通过 OssClient 实现上传
  4. 保存文件信息

2.1、OssClient 实例化 OssFactory#instance

在这里插入图片描述
项目启动之后没有实例化 OssClient,所以第一次执行上传时需要进行实例化。
在这里插入图片描述
在这里插入图片描述
OssClient#OssClient
在这里插入图片描述
创建桶 OssClient#createBucket
在这里插入图片描述

2.2、OssClient 实现上传 OssClient#uploadSuffix

在这里插入图片描述
在这里插入图片描述
OssClient#upload
在这里插入图片描述

2.3、上传成功保存文件信息

在这里插入图片描述
控制台打印:
在这里插入图片描述

扩展分析

扩展1、新旧版本的设计对比

上一篇对这个问题讲得比较简单,可能不够直观,这一篇再来补充一下。从上面的流程可以看到,无论是对接哪个云服务商,走的都是同一套实例化流程代码。

而在旧版本中,是对接不同的云服务商 SDK 来进行实现,缺点是如果增加一个云服务商,就需要多实现一套相应的策略,如下图:
在这里插入图片描述
IOssStrategy 定义了一套对象存储策略,里面有不同的功能接口(上传、删除等),不同的 SDK 都实现相同的接口来完成相同的功能。

新版本使用的是 AmazonS3 ,关于这个我去请教了狮子大佬,所以这里直接贴出他的回答:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
如果想将ruoyi-vue-plus项目中的文件上传至本地,可以按照以下步骤进行操作: 1. 首先,确保你已经成功搭建并运行了ruoyi-vue-plus项目,保证项目正常运行。 2. 在ruoyi-vue-plus项目的前端代码中,找到与文件上传相关的功能模块。通常,文件上传的代码会位于项目的"src/views"目录或者相关子目录中。 3. 打开相关文件,找到文件上传的逻辑代码。一般来说,文件上传功能会使用到Vue的组件和相关的API。你可以通过搜索关键词如"文件上传"、"upload"等来快速定位到相关代码。 4. 配置上传的目标路径。一般情况下,上传的文件会被保存在服务器的某个目录下。你需要查阅ruoyi-vue-plus项目的相关文档或代码,找到文件上传的目标路径配置项,一般是在项目的配置文件中。 5. 修改目标路径为本地路径。将目标路径的配置项修改为你想要保存文件的本地路径。确保该路径是本地文件系统中存在的,并且具备操作权限。 6. 保存修改并重新编译运行ruoyi-vue-plus项目。确保项目启动成功。 7. 现在,当你进行文件上传操作时,文件将会被上传至你所配置的本地路径中。 请注意,将文件上传至本地需要确保你的本地环境拥有足够的存储空间和相关权限。另外,该操作可能会导致项目的其他功能无法正常运行,请谨慎操作,并备份好原先的项目文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MichelleChung

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值