# 阿里云oss sts方法小程序直传封装 **Repository Path**: wosylf/alists ## Basic Information - **Project Name**: 阿里云oss sts方法小程序直传封装 - **Description**: 原来后端就集成了sts的获取,后台上传用的sts上传,就把小程序端也改成sts上传的方法,以下主要为前端的代码,前端调用后需要从后端获取sts信息 - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2021-10-24 - **Last Updated**: 2023-06-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 阿里云sts小程序上传封装 #### 介绍 原来后端就集成了sts的获取,后台上传用的sts上传,就把小程序端也改成sts上传的方法,以下主要为前端的代码,前端调用后需要从后端获取sts信息 服务器获取的数据格式如下: ``` accessKeyId: "STS.NTC****************6YMEEzhtnK7V" ​accessKeySecret: "3K77rcLct*******************GepepY5fhazYwEW" bucket: "h*****p" region: "oss-cn-beijing" stsToken: "CAIS7wF1q6Ft5B2y*****************6ctDz2IHpOeHlgBe4bsfo0lW5R6/8dlq53TJl" ``` 引入uploadFile.js后,传过来后调用uploadFile方法,分别是选择相册后的文件地址,dir上传的目录,上面的sts信息,返回的函数 调用示例 ``` //先import import uploadImage from "../../../util/up/uploadFile.js" //选择图片后 //此处为后端传过来的参数,上面列的参数 let sts={ accessKeyId: "STS.NTC****************6YMEEzhtnK7V" ​accessKeySecret: "3K77rcLct*******************GepepY5fhazYwEW" bucket: "h*****p" region: "oss-cn-beijing" stsToken: "CAIS7wF1q6Ft5B2y*****************6ctDz2IHpOeHlgBe4bsfo0lW5R6/8dlq53TJl" } let that=this //选择图片,并且调用上传接口 uni.chooseImage({ count: 3, sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有 sourceType: ['album', 'camera'], //从相册选择 success: (res) => { uni.showLoading({ title: '上传中' }); let file=res.tempFilePaths for (var i = 0; i < file.length; i++) { uploadImage(file[i], 'wechat/',sts.stsinfo, function(result) { console.log("上传图片返回的信息是",result) that.refund_reason_wap_img.push(result) }, function(result) {} ) } uni.hideLoading() }, fail: (err) => { uni.hideLoading() console.log(err.errMsg); } }); ```