开发直播APP时,视频图片等上传到七牛云存储的实现流程

说到视频和图片的存储,是直播APP开发过程中非常重要的部分,而为了能够增强直播体验,现在都改用云存储的方式进行存储,既方便又省事,最主要的是不用担心会占用“空间”。本文就来分享下在开发直播APP时,将视频图片等上传到七牛云存储的大概实现流程。

1.在gradle中添加七牛sdk的依赖。
compile 'com.qiniu:qiniu-android-sdk:7.2.1'
2.上传前先获取到唯一的token值。
if (mGetUploadTokenCallback == null) {
    mGetUploadTokenCallback = new HttpCallback() {
        @Override
        public void onSuccess(int code, String msg, String[] info) {
            if (code == 0 && info.length > 0) {
                mToken = JSON.parseObject(info[0]).getString("token");
                L.e(TAG, "七牛token------>" + mToken);
                uploadNext();
            }
        }
    };
}
//上传文件获取七牛云token的接口
CommonHttpUtil.getUploadQiNiuToken(mGetUploadTokenCallback);
3.初始化七牛文件上传管理器,通常可以使用默认设置,如果需要指定区域或者分片上传等需要单独配置。
默认情况:
UploadManager  mUploadManager = new UploadManager();
需要单独配置的:
Configuration config = new Configuration.Builder()
        .chunkSize(512 * 1024)          // 分片上传时,每片的大小。 默认256K
        .putThreshhold(1024 * 1024)   // 启用分片上传阀值。默认512K
        .connectTimeout(10)            // 链接超时。默认10秒
        .responseTimeout(60)          // 服务器响应超时。默认60秒
        .zone(Zone.zone0)             // 设置区域,指定不同区域的上传域名、备用域名、备用IP。
        .build();
UploadManager  mUploadManager = new UploadManager(config);
4.上传文件并监听回调做相应处理。
File file=bean.getOriginFile();//上传数据,可以是 byte 数组、文件路径、文件
String RemoteFileName= bean.getRemoteFileName();//保存在服务器上的资源唯一标识,这里用的上传文件名
UpCompletionHandler mCompletionHandler= new UpCompletionHandler() { //上传回调函数
    @Override
    public void complete(String key, ResponseInfo info, JSONObject response) {
        //上传完成后的处理
    }
};
mUploadManager.put(file,RemoteFileName, mToken, mCompletionHandler, null);

现在做云存储的服务商有很多家,至于选择哪家还是要根据预算、需求、效果等方面多考察一下,以上是在直播APP开发时,将视频图片上传七牛云存储的大概流程,感兴趣的话可持续关注。
声明:本文由作者原创,转载请注明出处及原文链接。

发布了150 篇原创文章 · 获赞 65 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/yb1314111/article/details/103179906