以下是一个微信小程序调用阿里云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_region
、your_access_key_id
、your_access_key_secret
和 your_bucket_name
为你的阿里云OSS参数。