如果你直接使用 javascript 将阿里云的accessId、accessKey写在页面上是不安全的,你可以使用后台存储这些敏感的信息,官网有相关的SDK ,你可以选择你常用的。
我使用的Java
流程:首先先访问你的后台获取到相关的凭证,将凭证携带发送到你的OSS,如果你要调用回调函数,在你的后台需要开启回调函数功能,
在后台编写你的回调函数,将回调函数凭证信息返回给前端,前端使用回调函数凭证访问OSS,就可以获取到回调函数信息。
主体函数:
this.client = new OSS({
region: "oss-cn-shenzhen",
accessKeyId: token.credentials.accessKeyId,
accessKeySecret: token.credentials.accessKeySecret,
stsToken: token.credentials.securityToken,
bucket: "filename",
secure: true
})
token:为连接前请求一次后端数据生成链接所需要的值配合前端进行oss链接
任何oss操作都要执行的oss链接,链接主要为了相应oss当前状态可连接操作文件
所以说此处建议封装成一个可调用函数,以便于后续操作
this.client.multipartUpload //上传文件:传入必填项和后端需要的mate值便于后续操作:
Path-name:必填项//路径名称
File:必填项需要上传的文件
{
//此处传或者获取所需操作,不必填项:如
progress: async function(p) {//上传进度,p为上传进度0-1
},
meta:{}//自定义所需的值
}
常用函数还有
删除文件: let result = await this.client.delete(path)
path:删除文件路径,常用于替换或直接删除文件;
let result = await client.deleteMulti(['exampleobject-1', 'exampleobject-2', 'testfolder/sampleobject.txt'], {quiet: true})
//批量删除文件
此处也需要链接oss主体函数再进行相应的操作
上传调试: localStorage.debug = 'ali-oss';
更多操作请查询:https://help.aliyun.com/document_detail;
前端小白继续加油
先阿里云oss后台管理配置,这里只是前端的操作,先获取后端接口返回的数据:AccessKeyId, AccessKeySecret,SecurityToken,bucket,regionId,object_path,domain
bucket: OSS存储空间名称
domain: 域名地址
object_path: 保存至oss的文件路径
微信小程序配置域名白名单
[官方文档地址]( https://help.aliyun.com/document_detail/92883.html )