华为云存储服务分享文件的方法

近期项目决定集成使用华为AGC的云存储服务,用来存储用户上传的数据文件,其功能类似于用户的个人云盘,可以将用户数据或者应用内预置贴图等数据,存放在AGC云侧的数据服务器中。

按需下载,可以大幅减小应用的包体,并且使用该云存储产品,使用SDK提供的接口使用即可,不用关注后台服务器的运维和部署等操作,大幅减少开发人力。

目前主要在根据具体的使用场景进行前期的调研和集成,当前涉及一个文件分享的场景,当前特地对文件分享的场景做相关的调研。

在AGC界面创建分享

华为的AGC的云存储服务,提供AGC控制台,可以再AGC控制台,以管理员的身份操作并且管理文件。

关于AGC管理的文件分享,官方文档里,写的标题为 创建令牌。这个标题名可能比较难懂,其实就是创建分享链接。对应文档:

https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-cloudstorage-manage-0000001055566160#ZH-CN_TOPIC_0000001158145127__section19261128682

操作步骤如下:

1、登录AGC管理台, 点击 我的项目 ,找到你的云存储项目。在左侧导航栏选择 构建-云存储

2、选择一个文件,选择操作栏的 详情

3、在弹出的选框中,可以看到有共享令牌的内容。每个文件默认匹配一个共享令牌。当文件拥有一个令牌时,就可以使用该令牌下载当前文件。

cke_7919.png

4、点击 复制 ,复制该令牌。复制出来的令牌,就是一个下载链接,可以通过这个下载链接,直接下载这个文件。

在应用内创建分享

华为AGC云存储服务,还提供了多个平台的SDK,可以直接在Android应用或者IOS应用内集成SDK,通过SDK提供的接口,直接进行文件的相关操作,当然也是可以直接创建文件的分享链接的。

下面以Android平台为例,介绍如何集成SDK并且创建文件的分享链接。

1、在项目级的build.gradle中添加Maven仓库地址:

buildscript {
repositories {
maven { url 'https://developer.huawei.com/repo/'}
}

dependencies {
classpath 'com.huawei.agconnect:agcp:1.5.2.300'
}
}
allprojects {
repositories {
maven { url 'https://developer.huawei.com/repo/'}
}
}

2、添加AGCP插件与agc配置文件

在应用级build.gradle添加如下agcp插件

apply plugin: 'com.huawei.agconnect'

在AGC控制台的 我的项目 – 项目设置 下,下载agconnect-services.json文件,将其下载到项目的app路径下

cke_7920.png

3、在应用级build.gradle添加SDK依赖

dependencies {
implementation 'com.huawei.agconnect:agconnect-storage:1.3.1.200'
}

4、初始化SDK

使用getInstance()接口进行初始化。

private void initAGCStorageManagement() {
mAGCStorageManagement = AGCStorageManagement.getInstance("Bucket Name");
}

5、创建对应文件的引用,并且获取下载链接

private void downloadURL() {
final String path = "test.txt";
StorageReference storageReference = mAGCStorageManagement.getStorageReference(path);
Task<Uri> downloadUrlTask = storageReference.getDownloadUrl();
downloadUrlTask.addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
Log.i("getUrl","getURL Success: " + uri.toString());
}
});
}

拿到下载链接,就可以进行文件的分享了。

参考文链接:

  • 华为AppGallery Connect 云存储服务—控制台管理文件:

https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-cloudstorage-manage-0000001055566160

  • 云存储服务,Android SDK API接口文档

https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-References/storagereference-0000001054767243

{{o.name}}
{{m.name}}

猜你喜欢

转载自my.oschina.net/u/4478396/blog/5520011