Uniapp 上传图片到 OSS 需要以下步骤:

  1. 获取上传凭证:在 OSS 控制台中创建一个 Bucket,并开启跨域访问。然后在服务端生成一个上传凭证(AccessKeyId、AccessKeySecret、SecurityToken 和 Bucket 名称等)。

  2. 配置 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',
  // ...其他配置
});
  1. 选择要上传的图片并转为 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);
      },
    });
  },
});
  1. 上传图片到 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 的使用说明。

Uniapp 上传图片到阿里云 OSS 详细教程

原文地址: https://www.cveoy.top/t/topic/noLb 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录