基于Element-Plus ElUpload组件,实现前端直接上传文件到阿里云OSS服务

需求背景

上传文件需要直接通过客户端上传到阿里云oss服务,无需通过服务器中转,减少服务器压力

交互流程示意图

需要开发的内容

  • 客户端调用接口从自有的服务端当中获取上传所需要的参数(在有效期内可以重复使用同一套参数值,可以在本地做缓存)
  • 自有服务端通过accessKey\Secret值生成前端需要的上传参数(需要设定有效期,超过有效期后参数无效)
  • 客户端获取到上传参数后将参数与上传的文件一并提交到阿里云OSS服务器(请求路径由上传参数决定)

1.服务端核心代码

还需要自行写一个Controller接受客户端请求后调用上面的方法返回给客户端

2.客户端

此处的客户端代码使用Element-Plus库当中的ElUpload组件为例

页面初始化的时候需要调用后台接口获取上传参数,只有上传参数获取成功才渲染上传组件

选择文件时需要再次校验一下上传参数是否在有效期内

封装的几个js方法

获取文件上传路径

默认阿里云OSS上传的文件不会返回任何内容,只会返回请求状态为200。如果需要获取上传的文件全路径,可以根据上传参数拼装获取

Add a Comment

您的邮箱地址不会被公开。 必填项已用 * 标注