上云无忧 > 文档中心 > 天翼云对象存储(OOS经典版)I型HTTP REST接口断点续传
对象存储
天翼云对象存储(OOS经典版)I型HTTP REST接口断点续传

文档简介:
通过MultipleUpload类以及文件上传请求UploadFileRequest类,实现基于分段上传的断点续传的功能。 参数设置 名称 描述 EnableCheckpoint 是否开启断点续传功能 默认:关闭 PartSize 每个分段的大小partSize,若partSize小于5MB,则会将partSize调整至5MB 默认:5MB
*产品来源:中国电信天翼云。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

断点续传


通过MultipleUpload类以及文件上传请求UploadFileRequest类,实现基于分段上传的断点续传的功能。


参数设置

名称

描述

EnableCheckpoint

是否开启断点续传功能

默认:关闭

PartSize

每个分段的大小partSize,若partSize小于5MB,则会将partSize调整至5MB

默认:5MB

UploadFile

上传的本地文件

checkpointFile

记录本地分片上传结果的文件,默认为上传的本地文件同路径下uploadFile.ucp

objectMetadata

文件的元数据

ProgressListener

上传状态监听器

TaskNum

分片上传并发线程数,默认为1,最多为1000

用checkpoint文件来记录所有分片的状态。上传过程中的进度信息会保存在该文件中,如果某一分片上传失败,再次上传时会根据文件中记录的点继续上传。上传完成后,该文件会被删除。checkpoint文件默认与待上传的本地文件同目录,为uploadFile.ucp。


Java上传代码示例

public   static void multiUpload(AmazonS3 ossClient) {

try {

String bucketName = "bkt-hhhhtest";;

String key = "object_test1.pdf"   ;

String uploadFile =   "D:\\tmp\\2.txt";

// 通过UploadFileRequest设置多个参数

UploadFileRequest request = new   UploadFileRequest(bucketName, key);

// 上传的本地文件

request.setUploadFile(uploadFile);

// 分片上传并发线程数,默认为1,最多为1000

request.setTaskNum(2);

/*每个分片的大小,默认5MB,若partSize小于5MB,除了最后一个分片以外,会将partSize调整至5MB */

request.setPartSize(5 * 1024 * 1024);

// 开启断点续传功能,默认关闭

request.setEnableCheckpoint(true);

/*记录本地分片上传结果的文件。开启断点续传功能时需要设置此参数,上传过程中的进度信息会保存在该文件中,如果某一分片上传失败,再次上传时会根据文件中记录的点继续上传。*/

// 上传完成后,该文件会被删除。默认与待上传的本地文件同目录,为uploadFile.ucp

// request.setCheckpointFile("");

MultipleUpload multiUpload = new MultipleUpload(request, ossClient);

// 断点续传上传

CompleteMultipartUploadResult result = multiUpload.upload();

//System.out.println("location:    "+result.getLocation());

System.out.println("Upload   complete. Upload object name:" + result.getKey());

} catch (AmazonServiceException ase)   {

System.out.println("Caught   an AmazonServiceException, which means your request made it " + "to   OOS, but was rejected with an error response for some reason.");

System.out.println("Error   Message:    " + ase.getMessage());

System.out.println("HTTP   Status Code: " + ase.getStatusCode());

System.out.println("OOS   Error Code:   " +   ase.getErrorCode());

System.out.println("Request   ID:       " + ase.getRequestId());

} catch (AmazonClientException ace) {

System.out.println("Caught   an AmazonClientException, which means the client encountered "

+ "a serious   internal problem while trying to communicate with OOS, "

+ "such as not being   able to access the network.");

System.out.println("Error   Message: " + ace.getMessage());

}

}

相似文档
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部