前提条件
- 已开通 OSS。
- 创建了 RAM 用户的 AccessKey 对(包括 AccessKey ID 和 AccessKey Secret)。
- AccessKey 对拥有相应的权限。推荐使用 RAM 用户或使用 Security Token Service (STS) 凭证来调用 API。
安装步骤
- 确保 Node.js 版本在 8.0.0 及以上。如果使用低于 8.0.0 的版本,使用 OSS SDK for Node.js V4.x。
- 运行以下命令安装 SDK 包:
npm install ali-oss --save
使用 OSS SDK for Node.js
OSS SDK for Node.js 支持基于 Promise 的异步编程,可以使用 async/await
或 then/catch
来处理 Promise 对象。
使用 async/await
以下示例代码演示了如何使用 async/await
语法上传和下载对象:
const OSS = require('ali-oss'); // 初始化 OSSClient 实例,请替换为实际的配置信息 const client = new OSS({ region: 'yourregion', // 例如 'oss-cn-hangzhou' accessKeyId: process.env.OSS_ACCESS_KEY_ID, // 确保环境变量 OSS_ACCESS_KEY_ID 已配置 accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET, // 确保环境变量 OSS_ACCESS_KEY_SECRET 已配置 bucket: 'yourbucketname', // 例如 'my-bucket-name' }); async function uploadAndDownloadFile() { try { // 上传文件到 OSS const uploadResult = await client.put('object', 'localfile'); console.log('Upload succeeded:', uploadResult); // 下载文件以验证上传是否成功 const getResult = await client.get('object'); console.log('Object downloaded:', getResult); } catch (error) { console.error('Error:', error); // 在此编写错误处理代码 } } uploadAndDownloadFile();
使用 then/catch
以下示例代码演示了如何使用 then/catch
语法上传和下载对象:
const OSS = require('ali-oss'); // 初始化 OSSClient 实例,请替换为实际的配置信息 const client = new OSS({ region: 'yourregion', // 例如 'oss-cn-hangzhou' accessKeyId: process.env.OSS_ACCESS_KEY_ID, // 确保环境变量 OSS_ACCESS_KEY_ID 已配置 accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET, // 确保环境变量 OSS_ACCESS_KEY_SECRET 已配置 bucket: 'yourbucketname', // 例如 'my-bucket-name' }); // 使用 PUT 方法上传文件到 OSS,并使用 then() 链式处理结果或错误 client.put('object', 'localfile') .then((uploadResult) => { console.log('Upload succeeded:', uploadResult); // 下载文件以验证上传是否成功 return client.get('object'); }) .then((getResult) => { console.log('Object downloaded:', getResult); }) .catch((error) => { console.error('Error:', error); // 在此编写错误处理代码 });
通过上述步骤和代码示例,您可以成功安装和使用 OSS SDK for Node.js 来管理 OSS 存储桶以及上传和下载对象。