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)的HarmonyOS SDK。该SDK专为鸿蒙应用开发设计,支持文件上传、下载、管理等OBS核心功能。使用时需在module.json5中声明ohos.permission.INTERNET权限,并通过import obs from '@obs/esdk-obs-harmony’引入。最新版本(V3.24.9)优化了鸿蒙Next的API兼容性,但部分高级功能可能受限。

关于HarmonyOS Next中使用@obs/esdk-obs-harmony(V3.24.9)进行OBS文件上传的问题

  1. 该SDK是华为云OBS服务针对HarmonyOS的适配版本,可用于文件上传等操作。

  2. 基本使用步骤:

  • 通过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'
});
  1. 上传文件示例:
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);
  }
}
  1. 注意事项:
  • 确保已在华为云OBS控制台创建好存储桶
  • 需要配置正确的访问密钥和终端节点
  • 文件操作需申请相应权限
  1. 常见问题:
  • 403错误通常由AK/SK不正确或权限不足导致
  • 网络问题可能导致连接超时
  • 大文件上传建议使用分段上传接口

建议参考SDK文档中的完整API说明和示例代码进行开发。

回到顶部