HarmonyOS鸿蒙Next中有人用过 @obs/esdk-obs-harmony(V3.24.9) 这个吗
HarmonyOS鸿蒙Next中有人用过 @obs/esdk-obs-harmony(V3.24.9) 这个吗
这是链接 OpenHarmony三方库中心仓
在做一个图片上传的功能 需要用到 华为云的OBS桶
找到一个sdk,请问这个应该怎么用
5 回复
安装指定版本
ohpm install @obs/esdk-obs-harmony@3.24.9
在module.json5文件中添加网络权限:
"requestPermissions": [
{
"name": "ohos.permission.INTERNET"
}
]
初始化OBS客户端
import { ObsClient } from '@obs/esdk-obs-harmony';
// 配置华为云账号信息
const obsClient = new ObsClient({
access_key_id: 'your-access-key',
secret_access_key: 'your-secret-key',
server: 'https://your-endpoint.obs.myhuaweicloud.com'
});
构建上传参数
const params = {
Bucket: 'your-bucket-name', // 替换为实际OBS桶名
Key: 'uploads/image.jpg', // 云端存储路径
SourceFile: 'local/path/to/image.jpg' // 本地文件路径
};
执行上传操作
obsClient.putObject(params, (err, result) => {
if (err) {
console.error('Upload failed:', err);
} else {
console.log('Upload success:', result.CommonMsg.Status);
}
});
更多关于HarmonyOS鸿蒙Next中有人用过 @obs/esdk-obs-harmony(V3.24.9) 这个吗的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
ohpm install @obs/esdk-obs-harmony
代码示例
import ObsClient from '@obs/esdk-obs-harmony';
const obsClient: ObsClient = new ObsClient({
AccessKeyId: process.env.HUAWEICLOUD_SDK_AK,
SecretAccessKey: process.env.HUAWEICLOUD_SDK_SK,
Server: this.endpoint
})
(async () => {
try {
const result = await obsClient.listBucket()
console.log("Result:", JSON.stringify(result, null, 2));
} catch (error:any) {
console.error("Exception:", JSON.stringify(error, null, 2));
}
})();
根据您的要求,转换后的Markdown文档如下:
谢谢大佬,
关于HarmonyOS Next中使用@obs/esdk-obs-harmony(V3.24.9)进行OBS文件上传的问题
-
该SDK是华为云OBS服务针对HarmonyOS的适配版本,可用于文件上传等操作。
-
基本使用步骤:
- 通过ohpm安装:
ohpm install @obs/esdk-obs-harmony
- 在代码中引入:
import { ObsClient } from '@obs/esdk-obs-harmony'
- 初始化客户端:
const obsClient = new ObsClient({
access_key_id: 'your-ak',
secret_access_key: 'your-sk',
server: 'https://your-endpoint'
});
- 上传文件示例:
async function uploadFile(bucketName: string, objectKey: string, filePath: string) {
try {
const result = await obsClient.putObject({
Bucket: bucketName,
Key: objectKey,
Body: fs.readFileSync(filePath)
});
console.log('Upload success:', result.CommonMsg.Status);
} catch (err) {
console.error('Upload error:', err);
}
}
- 注意事项:
- 确保已在华为云OBS控制台创建好存储桶
- 需要配置正确的访问密钥和终端节点
- 文件操作需申请相应权限
- 常见问题:
- 403错误通常由AK/SK不正确或权限不足导致
- 网络问题可能导致连接超时
- 大文件上传建议使用分段上传接口
建议参考SDK文档中的完整API说明和示例代码进行开发。