鸿蒙开发-端云一体化--云存储
一、开通云存储服务
在AGC中开通云存储服务
二、更新配置文件
- 更新配置
在AGC的项目设置中找到【agconnect-services.json】文件,下载下来,放置在Dev Eco Studio的【entry\src\main\resources\rawfile】目录下,即配置成功
- 添加依赖
在oh-package.json5中添加依赖
"dependencies": {
"@hw-agconnect/cloud": "^1.0.1",
"@hw-agconnect/hmcore": "^1.0.1",
"@hw-agconnect/auth-component": "^1.0.1"
}
- 初始化
在【src/main/ets/entryability/EntryAbility.ets】中进行初始化
//初始化项目 let input = await this.context.resourceManager.getRawFileContent('agconnect-services.json') let jsonString = util.TextDecoder.create('utf-8', { ignoreBOM: true }).decodeWithStream(input, { stream: false }) initialize(this.context, JSON.parse(jsonString));
三、在相簿中选择照片
//在相册里选照片const options = new picker.PhotoSelectOptions() //图片选择options.MIMEType = picker.PhotoViewMIMETypes.IMAGE_TYPE //媒体类型,是图片还是视频options.maxSelectNumber = 1 //最大选择个数const result = await new picker.PhotoViewPicker().select(options) //result即为选择的照片
四、调用云存储的API上传图片
//调用api上传照片cloud.storage().upload({ //storage方法表示云存储对象,upload表示上传localPath: result.photoUris[0], //上传文件的本地路径cloudPath: `test/${result.photoUris[0].split('/').pop()}` //上传到云存储的位置})
五、获取上传地址的网络地址
//获取上传照片的网络地址//传入的是云存储的位置//得到的是公网地址 const photoUrl = await cloud.storage().getDownloadURL(`test/${result.photoUris[0].split('/').pop()}`)