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();
總結
以上是生活随笔為你收集整理的android上传视频 断点续传,断点续传上传的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java可以使用c语言中的输入,c语言中
- 下一篇: htc d10w android 7.0