分片上传接口 接口定义 plaintext public InitiateMultipartUploadResult initiateMultipartUpload( InitiateMultipartUploadRequest initiateMultipartUploadRequest) 参数说明 参数名 类型 说明 bucketName String bucket名 key String 要上传的对象名 cannedACL CannedAccessControlList 权限设置 objectMetadata ObjectMetadata 可选参数,元数据,可以设置ContentType和自定义元数据 代码示例 plaintext public void InitiateMultipartUpload(String bucketName, String objectKey, OnS3ResponseListener listener) { GlobalThreadPool.getInstance().execute(() > { try { InitiateMultipartUploadRequest initiateMultipartUploadRequest new InitiateMultipartUploadRequest(bucketName, objectKey); InitiateMultipartUploadResult result sS3Client.initiateMultipartUpload(initiateMultipartUploadRequest); Handler mainHandler new Handler(Looper.getMainLooper()); mainHandler.post(() > listener.onResponse(result)); } catch (Exception e) { Handler mainHandler new Handler(Looper.getMainLooper()); mainHandler.post(() > listener.onError()); } }); } 上传一个分片 获取到分片任务ID之后,通过ID来上传分片内容到S3服务器。 接口定义 plaintext public UploadPartResult uploadPart(UploadPartRequest uploadPartRequest) 参数说明 参数名 类型 说明 bucketName String bucket名 key String 要上传的对象名称 file FILE 上传的文件对象 uploadId String 上传任务ID partSize long 上传内容长度 partNum int 分片ID(110000) fileOffset long 文件起始位置 代码示例 plaintext public void UploadPart(String bucketName, String objectKey, String uploadId, int partNum, File file, int filePosition, int partSize, OnS3ResponseListener listener) { GlobalThreadPool.getInstance().execute(() > { try { UploadPartRequest uploadPartRequest new UploadPartRequest() .withBucketName(bucketName) .withKey(objectKey) .withUploadId(uploadId) .withPartNumber(partNum) .withFileOffset(filePosition) .withFile(file) .withPartSize(partSize); UploadPartResult result sS3Client.uploadPart(uploadPartRequest); Handler mainHandler new Handler(Looper.getMainLooper()); mainHandler.post(() > listener.onResponse(result)); } catch (Exception e) { Handler mainHandler new Handler(Looper.getMainLooper()); mainHandler.post(() > listener.onError()); } }); } 完成分片上传任务 完成所有分片的上传之后,调用完成接口,服务端会把所有分片合并成对象保存。