Page History

About request

Last edited by 王琳

关于Request

上传SDK中的Request包含objectKey(表示其名称,实际就是一个可带斜线/的字符串,如/a/b/c/my.jpg)、上传的文件(File)信息。在单块上传以及初始化多块上传时,开发者可以通过Request对象设置上传的文件的

读写权限(例:request.setCannedACL(CNCannedAccessControlList.PublicRead)),

文件类型(例:request.setContentType("video/mp4"),不设置默认为(application/octet-stream),以信息流的形式返回)等信息。

相关的request包括

  • CNPutObjectRequest(单块上传)
/**
 * objectKey 名称,实际就是一个可带斜线/的字符串,如/a/b/c/my.jpg
 * file 上传的文件
 */
CNPutObjectRequest request = new CNPutObjectRequest(objectKey, file);
  • CNInitiateMultipartUploadRequest(初始化多块上传)
/**
 * objectKey 名称,实际就是一个可带斜线/的字符串,如/a/b/c/my.jpg
 */
CNInitiateMultipartUploadRequest request = new CNInitiateMultipartUploadRequest(objectKey);
  • CNUploadPartRequest(上传分块)
/**
 * objectKey 名称,实际就是一个可带斜线/的字符串,如/a/b/c/my.jpg
 * uploadId 初始化时得到的uploadId
 * file 需要上传的file
 * offset 此分块在文件中内容的起始位置
 * partNumber 此分块是第几块
 * partSize 此分块的大小,单位为Byte
 */
CNUploadPartRequest request = new CNUploadPartRequest(key, uploadId, file, offset, partNumber, partSize);
  • CNListPartsRequest(罗列出已经上传的块)
/**
 * objectKey 名称,实际就是一个可带斜线/的字符串,如/a/b/c/my.jpg
 * uploadId 初始化时得到的uploadId
 */
CNListPartsRequest listRequest = new CNListPartsRequest(objectKey, uploadId);
  • CNCompleteMultipartUploadRequest(组装所有分块上传的文件)
/**
 * listResult CNListPartsResult结果实体类,包含CNOwner及一个Parts容器类
 */
CNCompleteMultipartUploadRequest comRequest = new CNCompleteMultipartUploadRequest(listResult);
  • CNAbortMultipartUploadRequest(取消分块上传)
/**
 * objectKey 名称,实际就是一个可带斜线/的字符串,如/a/b/c/my.jpg
 * uploadId 初始化时得到的uploadId
 */
CNAbortMultipartUploadRequest request = new CNAbortMultipartUploadRequest(objectKey, uploadId);

CannedAcl

CannedAcl是一种方便用户使用的方式,对常见的几种权限情况进行了封装。通过在CNPutObjectRequest与CNInitiateMultipartUploadRequest的setCannedACL(type)接口设置。

request.setCannedACL(CNCannedAccessControlList.PublicRead)

当前支持的CannedAcl包括:

ACL 添加的权限
Private(私有)(默认值) Bucket Owner获得FULL_CONTROL,其他人没有任何权限
PublicRead(公共读) Bucket Owner获得FULL_CONTROL,其他人获得READ权限
PublicReadWrite(公共读写) Bucket Owner获得FULL_CONTROL,其他人获得READ和WRITE权限