android上传视频 断点续传,断点续传上传

断点记录不在本地持久保存时,调用ResumableUploadRequest方法实现断点续传上传的过程如下:

// 创建断点上传请求。

// objectKey等同于objectName,表示断点上传文件到OSS时需要指定包含文件后缀在内的完整路径,例如abc/efg/123.jpg。

ResumableUploadRequest request = new ResumableUploadRequest("", "", "");

// 设置上传过程回调。

request.setProgressCallback(new OSSProgressCallback() {

@Override

public void onProgress(ResumableUploadRequest request, long currentSize, long totalSize) {

Log.d("resumableUpload", "currentSize: " + currentSize + " totalSize: " + totalSize);

}

});

// 异步调用断点上传。

OSSAsyncTask resumableTask = oss.asyncResumableUpload(request, new OSSCompletedCallback() {

@Override

public void onSuccess(ResumableUploadRequest request, ResumableUploadResult result) {

Log.d("resumableUpload", "success!");

}

@Override

public void onFailure(ResumableUploadRequest request, ClientException clientExcepion, ServiceException serviceException) {

// 异常处理。

}

});

// 等待完成断点上传任务。

resumableTask.waitUntilFinished();

断点记录在本地持久保存时,调用ResumableUploadRequest方法实现断点续传上传的过程如下:

String recordDirectory = Environment.getExternalStorageDirectory().getAbsolutePath() + "/oss_record/";

File recordDir = new File(recordDirectory);

// 确保断点记录的保存文件夹已存在,如果不存在则新建断点记录的保存文件夹。

if (!recordDir.exists()) {

recordDir.mkdirs();

}

// 创建断点上传请求,并指定断点记录文件的保存路径,保存路径为断点记录文件的绝对路径。

ResumableUploadRequest request = new ResumableUploadRequest("", "", "", recordDirectory);

// 设置上传回调。

request.setProgressCallback(new OSSProgressCallback() {

@Override

public void onProgress(ResumableUploadRequest request, long currentSize, long totalSize) {

Log.d("resumableUpload", "currentSize: " + currentSize + " totalSize: " + totalSize);

}

});

OSSAsyncTask resumableTask = oss.asyncResumableUpload(request, new OSSCompletedCallback() {

@Override

public void onSuccess(ResumableUploadRequest request, ResumableUploadResult result) {

Log.d("resumableUpload", "success!");

}

@Override

public void onFailure(ResumableUploadRequest request, ClientException clientExcepion, ServiceException serviceException) {

// 异常处理。

}

});

// 等待完成断点上传任务。

resumableTask.waitUntilFinished();

断点续传上传的完整示例代码如下:

String recordDirectory = Environment.getExternalStorageDirectory().getAbsolutePath() + "/oss_record/";

File recordDir = new File(recordDirectory);

// 确保断点记录的保存文件夹已存在,如果不存在则新建断点记录的保存文件夹。

if (!recordDir.exists()) {

recordDir.mkdirs();

}

// 创建断点续传上传请求,并指定断点记录文件的保存路径,保存路径为断点记录文件的绝对路径。

ResumableUploadRequest request = new ResumableUploadRequest("", "", "", recordDirectory);

// 调用OSSAsyncTask cancel()方法时,DeleteUploadOnCancelling设置为false时,则不删除断点记录文件。如果不设置此参数,则默认值为true,表示删除断点记录文件,下次再上传用一个文件时则重新上传。

request.setDeleteUploadOnCancelling(false);

// 设置上传回调。

request.setProgressCallback(new OSSProgressCallback() {

@Override

public void onProgress(ResumableUploadRequest request, long currentSize, long totalSize) {

Log.d("resumableUpload", "currentSize: " + currentSize + " totalSize: " + totalSize);

}

});

OSSAsyncTask resumableTask = oss.asyncResumableUpload(request, new OSSCompletedCallback() {

@Override

public void onSuccess(ResumableUploadRequest request, ResumableUploadResult result) {

Log.d("resumableUpload", "success!");

}

@Override

public void onFailure(ResumableUploadRequest request, ClientException clientExcepion, ServiceException serviceException) {

// 异常处理。

}

});

// 等待完成断点上传任务。

resumableTask.waitUntilFinished();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值