Uniapp 上传图片到阿里云 OSS 详细教程
Uniapp 上传图片到 OSS 需要以下步骤:
-
获取上传凭证:在 OSS 控制台中创建一个 Bucket,并开启跨域访问。然后在服务端生成一个上传凭证(AccessKeyId、AccessKeySecret、SecurityToken 和 Bucket 名称等)。
-
配置 OSS SDK:在 uniapp 项目中安装阿里云 OSS SDK,并在代码中引入:
import OSS from 'ali-oss';
const client = new OSS({
region: 'oss-cn-hangzhou',
accessKeyId: 'your accessKeyId',
accessKeySecret: 'your accessKeySecret',
bucket: 'your bucket name',
// ...其他配置
});
- 选择要上传的图片并转为 Blob 格式:
uni.chooseImage({
count: 1,
success: function (res) {
const tempFilePaths = res.tempFilePaths;
uni.getFileSystemManager().readFile({
filePath: tempFilePaths[0],
encoding: 'base64',
success: function (res) {
const base64Data = res.data;
const blob = new Blob([uni.base64ToArrayBuffer(base64Data)], {
type: 'image/jpeg',
});
// 调用上传方法
uploadImageToOSS(blob);
},
});
},
});
- 上传图片到 OSS:
function uploadImageToOSS(file) {
const filename = `${Date.now()}.jpg`;
client.put(filename, file).then(function (result) {
console.log(result);
// 上传成功后处理逻辑
}).catch(function (err) {
console.error(err);
// 上传失败后处理逻辑
});
}
以上就是 Uniapp 上传图片到 OSS 的基本流程,具体实现还需要注意一些细节,如文件类型、上传进度等,可以参考阿里云官方文档和 SDK 的使用说明。
原文地址: https://www.cveoy.top/t/topic/noLb 著作权归作者所有。请勿转载和采集!