最近有需求想要使用oss长传缓解服务器压力,商议后决定使用前端自己上传oss不经过服务器端。在此记录一下过程:

项目使用的是vue,所以首先npm i --save ali-oss 
页面或者在公共方法引如 import oss from 'ali-oss'

页面加载调用接口获取相关参数后发起请求
 

this.client = new OSS({
 region: res.serverRegion,// 云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用STS方式来进行API访问
 accessKeyId: res.serverKeyID,
 accessKeySecret: res.serverSecretkey,
 bucket: res.serverBucket,
 secure: true
})
this.client.multipartUpload('路径+文件名称', file, {
    progress: e => {
        // this.videoPercentage = Number((e * 100).toFixed(2))
  }
})
.then(res => {
    console.log(res)
})

直接使用oss文档里的示例
里面注释上说建议使用STS方式进行api访问,目前没看到前端需要需要做什么更改,应该是再阿里云控制台新增账号然后使用STS服务调用,返回参数相同

Logo

前往低代码交流专区

更多推荐