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

直播带货软件开发过程中,通常文件上传为避免服务器压力,不会直接上传至自己的服务器,而是上传至三方云存储来托管数据。下面小编以七牛云为例,简单描述一下文件上传的实现过程
1.在gradle中添加七牛sdk的依赖。
comp] - 2 q O / qile 'Z 9 B ! | { Ncom.qiniu:qiniu-android-sdk:7.4.3'
2.上传前先获取到唯一的token值。

if (mGetUploadTokenCallback == na Q T G ( O O J qull) {
mG: 8 & 9 = w 6etUpl% = s : {  AoadTokenCallback = new HttpCallback() {
@OR Z 7 Y N { a Kverride
public void onSuccess(int code, String msg, String[] info) {
if (code == 0 && info.length &gg Y o 3 $ @ - 3 Yt; 0) {
mT] P G t 3 M 1 G /oken = JSON.parseObject(info[| X z | K + O0]).getString("token");
L.e(TAG, "七牛token-w ? F C----->" + mToken);
uploadNext();
}
}
};
}
//上传文件获取9 p ( - , E K { C七牛云token的接口
CommonS : g S A q ^HttpUtil.getUploadQiNiuToken(mGetUploadTokenv G H + w nCallback);

3.初始化七牛文件上传管理器,通常可以使用默认设置,如果需要指定区v O q c域或者分片上传等需要单独配置。
默认情况:
UploadManager mUploadManager = new UploadManager();
需要单独配置的:

Configuration config = new Configuration.Builder()
.chunkSizz R he(512 * 1024)          // 分片上传时,每片的L 4 a/ # z }小。 默认256K
.putThreshhold(1024 * 13 @ @024)   // 启用分片上A 4 ) K $ 2传阀值。默认512K
.connectTimeout(10)            /A 2 ^ % ) } ` N/ 链接超时。默认10秒F d % j
.responseTimeout(60)          // 服务器响应超时。默认60秒
.zone(B , h E I 5 Z N {Zone.zone0)             // 设置区域,指定不同区域的上传域名、备用域名、备v V H i } M G S 8用IP。
.build();( + g q 2 7 o
UploadManager  mUploadManager = new Uplo{ ( N w i L J & fadManager(cs x ronfig);

4.上传文件Q O & H ) U ~并监听回调做相应处理r + 3 1 9 W S

File file=bean.getOriginFile();//上传数据,可以是 byte 数组文件路径D H q 0 y、文件
Stl M _ }ring RemoteFileName= bean.getRemoteFileName();//保存在服务器上的资源唯一标识,这里用的上传文件名
UpCompleM & 9 w ) x u o gtionHandler mCompletionHandler= new UpCompletionHandler() { //上传回调函数
@Ovc ) . V w 2 S n ?erride
public void com+ X b I O K T nplete(String k1 Y ; } 3 I Ley, ResponseInfo info, JSONObject response) {
//上传完成后的处理
}
};
mUploadManager.put(file,RemoteFileName, mToken, mCompletiov # _nHandler, null);

5.将云存储返回的文件访问链接,通过接口提交保存即可。
以上,就是在直播带货软件开发过程中Q q },图片f k # u E上传的过程。