以下是一个微信小程序调用阿里云OSS的示例代码:

// 在小程序中引入ali-oss-sdk
const OSS = require('ali-oss');

// 配置阿里云OSS参数
const client = new OSS({
  region: 'your_oss_region', // OSS地区代码
  accessKeyId: 'your_access_key_id', // AccessKeyId
  accessKeySecret: 'your_access_key_secret', // AccessKeySecret
  bucket: 'your_bucket_name' // 存储桶名称
});

// 上传文件到OSS
wx.chooseImage({
  success: function(res) {
    const filePath = res.tempFilePaths[0]; // 获取选择的文件路径
    const fileName = 'test.jpg'; // 指定上传的文件名

    // 调用OSS上传
    client.put(fileName, filePath).then(function(res) {
      console.log(res);
      // 上传成功
      wx.showToast({
        title: '文件上传成功',
        icon: 'success',
      });
    }).catch(function(err) {
      console.log(err);
      // 上传失败
      wx.showToast({
        title: '文件上传失败',
        icon: 'none',
      });
    });
  },
  fail: function(err) {
    console.log(err);
    // 选择文件失败
    wx.showToast({
      title: '选择文件失败',
      icon: 'none',
    });
  }
});

// 下载文件
const fileName = 'test.jpg'; // 需要下载的文件名
const saveFilePath = wx.env.USER_DATA_PATH + '/' + fileName; // 文件保存路径

// 调用OSS下载
client.getStream(fileName).then(function(stream) {
  const fileStream = wx.createWriteStream(saveFilePath); // 创建写入流
  stream.pipe(fileStream); // 将OSS流写入本地文件

  fileStream.on('finish', function() {
    console.log('文件下载成功');
    // 下载成功
    wx.showToast({
      title: '文件下载成功',
      icon: 'success',
    });
  });

  fileStream.on('error', function(err) {
    console.log(err);
    // 下载失败
    wx.showToast({
      title: '文件下载失败',
      icon: 'none',
    });
  });
}).catch(function(err) {
  console.log(err);
  // 下载失败
  wx.showToast({
    title: '文件下载失败',
    icon: 'none',
  });
});

注意替换 your_oss_regionyour_access_key_idyour_access_key_secret 和 your_bucket_name 为你的阿里云OSS参数。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐