uniapp上传图片到腾讯云oss
时间: 2023-07-04 13:06:18 浏览: 212
uniapp图片上传
要将图片上传到腾讯云OSS,你需要进行以下步骤:
1. 在腾讯云中创建一个对象存储桶(Bucket)。
2. 在uniapp中安装并引入腾讯云OSS SDK。
3. 编写上传代码,包括以下步骤:
- 获取上传凭证:在腾讯云中创建一个临时的密钥,用于上传图片。
- 创建上传任务:使用SDK提供的uploadObject方法,将图片进行上传。
- 监听上传进度:可以使用SDK提供的progress方法,获取上传进度信息。
这是一个示例代码,可以帮助你更好地理解上传图片到腾讯云OSS的过程:
```javascript
import COS from "cos-wx-sdk-v5";
const cos = new COS({
getAuthorization: async function (options, callback) {
try {
// 获取上传凭证
const res = await uni.request({
url: "上传凭证接口",
method: "GET",
});
const { credentials } = res.data;
callback({
TmpSecretId: credentials.tmpSecretId,
TmpSecretKey: credentials.tmpSecretKey,
SecurityToken: credentials.sessionToken,
StartTime: credentials.startTime,
ExpiredTime: credentials.expiredTime,
});
} catch (err) {
console.log(err);
}
},
});
export default {
methods: {
async uploadFile(file, fileName) {
try {
// 创建上传任务
const res = await new Promise((resolve, reject) => {
cos.uploadObject(
{
Bucket: "你的Bucket名称",
Region: "你的Bucket所在地域",
Key: fileName,
FilePath: file.path,
},
function (err, data) {
if (err) {
reject(err);
} else {
resolve(data);
}
}
).on("progress", function (info) {
console.log(info.percent * 100 + "%");
});
});
console.log(res);
} catch (err) {
console.log(err);
}
},
},
};
```
这段代码中,首先引入了腾讯云OSS SDK,并创建了一个COS实例。在上传文件的方法中,首先调用了 `getAuthorization` 方法获取上传凭证,然后使用 `cos.uploadObject` 方法创建上传任务。同时,也可以使用 `on` 方法监听上传进度,以便实时更新上传进度。最后,上传完成后,会返回上传成功的信息。
阅读全文