前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >直播带货软件开发过程中,如何实现图片上传

直播带货软件开发过程中,如何实现图片上传

原创
作者头像
万岳教育系统
修改2020-07-20 18:05:45
5100
修改2020-07-20 18:05:45
举报

直播带货软件开发过程中,通常文件上传为避免服务器压力,不会直接上传至自己的服务器,而是上传至三方云存储来托管数据。下面小编以七牛云为例,简单描述一下文件上传的实现过程。

1. 在gradle中添加七牛sdk的依赖。

代码语言:javascript
复制
compile 'com.qiniu:qiniu-android-sdk:7.4.3'

2. 上传前先获取到唯一的token值。

代码语言:javascript
复制
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. 初始化七牛文件上传管理器,通常可以使用默认设置,如果需要指定区域或者分片上传等需要单独配置。

默认情况:

代码语言:javascript
复制
UploadManager  mUploadManager = new UploadManager();

需要单独配置的:

代码语言:javascript
复制
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. 上传文件并监听回调做相应处理。

代码语言:javascript
复制
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);

5. 将云存储返回的文件访问链接,通过接口提交保存即可。

以上,就是在直播带货软件开发过程中,图片上传的过程。

声明:以上内容为作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档