Class UploadManager
- java.lang.Object
-
- com.qiniu.storage.UploadManager
-
public final class UploadManager extends java.lang.Object七牛文件上传管理器,通过该类上传文件时,会自动根据定义的Configuration.putThreshold来判断是采用表单上传还是分片上传的方法,超过了定义的Configuration.putThreshold就会采用 分片上传的方法,可以在构造该类对象的时候,通过Configuration类来自定义这个值。 一般默认可以使用这个类的方法来上传数据和文件。这个类自动检测文件的大小,
-
-
Constructor Summary
Constructors Constructor Description UploadManager(Client client, Recorder recorder)构建一个支持断点续传的上传对象。只在文件采用分片上传时才会有效。 分块上传中,将每一块上传的记录保存下来。上传中断后可在上一次断点记录基础上上传剩余部分。 对于不同的文件上传需要支持断点续传的情况,请定义不同的UploadManager对象,而不要共享。UploadManager(Configuration config)构建一个非断点续传的上传对象UploadManager(Configuration config, Recorder recorder)构建一个支持断点续传的上传对象。只在文件采用分片上传时才会有效。 分块上传中,将每一块上传的记录保存下来。上传中断后可在上一次断点记录基础上上传剩余部分。 对于不同的文件上传需要支持断点续传的情况,请定义不同的UploadManager对象,而不要共享。
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidasyncPut(byte[] data, java.lang.String key, java.lang.String token, StringMap params, java.lang.String mime, boolean checkCrc, UpCompletionHandler handler)异步上传数据,表单上传Responseput(byte[] data, java.lang.String key, java.lang.String token)上传字节数组,表单上传 表单上传:不支持分片上传 v1/v2,不支持并发,不支持断点续传Responseput(byte[] data, java.lang.String key, java.lang.String token, StringMap params, java.lang.String mime, boolean checkCrc)上传字节数组,表单上传 表单上传:不支持分片上传 v1/v2,不支持并发,不支持断点续传Responseput(java.io.File file, java.lang.String key, java.lang.String token)上传文件Responseput(java.io.File file, java.lang.String key, java.lang.String token, StringMap params, java.lang.String mime, boolean checkCrc)上传文件 * file size 大于 configuration.putThreshold 时采用分片上传 分片上传时,每个上传操作会占用 blockSize 大小内存,blockSize 也即分片大小, 在分片 v1 中 blockSize 为 4M; 分片 v2 可自定义 blockSize,定义方式为:Configuration.resumableUploadAPIV2BlockSize,范围为:1M ~ 1GB,分片 v2 需要注意每个文件最大分片数量为 10000; 当采用并发分片时,占用内存大小和当时启用并发任务数量有关,即:blockSize * 并发数量, 并发任务数量配置方式:Configuration.resumableUploadMaxConcurrentTaskCount 分片上传:支持分片上传 v1/v2,支持并发,支持断点续传Responseput(java.io.InputStream inputStream, long size, java.lang.String key, java.lang.String token, StringMap params, java.lang.String mime, boolean checkCrc)上传字节流,小文件走表单,大文件走分片Responseput(java.io.InputStream stream, java.lang.String key, java.lang.String token, StringMap params, java.lang.String mime)流式上传,通常情况建议文件上传,文件上传可以使用持久化的断点记录。Responseput(java.lang.String filePath, java.lang.String key, java.lang.String token)上传文件Responseput(java.lang.String filePath, java.lang.String key, java.lang.String token, StringMap params, java.lang.String mime, boolean checkCrc)上传文件
-
-
-
Constructor Detail
-
UploadManager
public UploadManager(Configuration config)
构建一个非断点续传的上传对象- Parameters:
config- 配置类对象【必须】
-
UploadManager
public UploadManager(Configuration config, Recorder recorder)
构建一个支持断点续传的上传对象。只在文件采用分片上传时才会有效。 分块上传中,将每一块上传的记录保存下来。上传中断后可在上一次断点记录基础上上传剩余部分。 对于不同的文件上传需要支持断点续传的情况,请定义不同的UploadManager对象,而不要共享。- Parameters:
config- 配置类对象【必须】recorder- 断点记录对象【可选】
-
-
Method Detail
-
put
public Response put(java.io.InputStream inputStream, long size, java.lang.String key, java.lang.String token, StringMap params, java.lang.String mime, boolean checkCrc) throws QiniuException
上传字节流,小文件走表单,大文件走分片inputStream size 大于 configuration.putThreshold 时采用分片上传 分片上传时,每个上传操作会占用 blockSize 大小内存,blockSize 也即分片大小, 在分片 v1 中 blockSize 为 4M; 分片 v2 可自定义 blockSize,定义方式为:Configuration.resumableUploadAPIV2BlockSize,范围为:1M ~ 1GB,分片 v2 需要注意每个文件最大分片数量为 10000; 当采用并发分片时,占用内存大小和当时启用并发任务数量有关,即:blockSize * 并发数量, 并发任务数量配置方式:Configuration.resumableUploadMaxConcurrentTaskCount 流式分片上传:支持分片上传 v1/v2,支持并发,不支持断点续传
inputStream size 小于 configuration.putThreshold 时采用表单上传 表单上传会占用 inputStream size 大小内存
- Parameters:
inputStream- 文件流【必须】size- 文件大小【必须】key- 保存文件名【可选】token- 上传凭证【必须】params- 自定义参数【可选】 自定义文件 metadata 信息,key 需要增加前缀 x-qn-meta- :如 params.put("x-qn-meta-key", "foo") 用户自定义变量,key 需要增加前缀 x: :如 params.put("x:foo", "foo")mime- 文件 mime type【可选】checkCrc- 是否检测 crc【可选】- Returns:
- Response
- Throws:
QiniuException- 上传失败异常
-
put
public Response put(byte[] data, java.lang.String key, java.lang.String token) throws QiniuException
上传字节数组,表单上传 表单上传:不支持分片上传 v1/v2,不支持并发,不支持断点续传- Parameters:
data- 上传的数据【必须】key- 上传数据保存的文件名【可选】token- 上传凭证【必须】- Returns:
- Response
- Throws:
QiniuException- 上传失败异常
-
put
public Response put(byte[] data, java.lang.String key, java.lang.String token, StringMap params, java.lang.String mime, boolean checkCrc) throws QiniuException
上传字节数组,表单上传 表单上传:不支持分片上传 v1/v2,不支持并发,不支持断点续传- Parameters:
data- 上传的数据【必须】key- 上传数据保存的文件名【可选】token- 上传凭证【必须】params- 自定义参数【可选】 自定义文件 metadata 信息,key 需要增加前缀 x-qn-meta- :如 params.put("x-qn-meta-key", "foo") 用户自定义变量,key 需要增加前缀 x: :如 params.put("x:foo", "foo")mime- 指定文件mimetype【可选】checkCrc- 是否验证crc32【可选】- Returns:
- Response
- Throws:
QiniuException- 上传失败异常
-
put
public Response put(java.lang.String filePath, java.lang.String key, java.lang.String token) throws QiniuException
上传文件- Parameters:
filePath- 上传的文件路径【必须】key- 上传文件保存的文件名【可选】token- 上传凭证【必须】- Returns:
- Response
- Throws:
QiniuException- 异常
-
put
public Response put(java.lang.String filePath, java.lang.String key, java.lang.String token, StringMap params, java.lang.String mime, boolean checkCrc) throws QiniuException
上传文件file size 大于 configuration.putThreshold 时采用分片上传 分片上传时,每个上传操作会占用 blockSize 大小内存,blockSize 也即分片大小, 在分片 v1 中 blockSize 为 4M; 分片 v2 可自定义 blockSize,定义方式为:Configuration.resumableUploadAPIV2BlockSize,范围为:1M ~ 1GB,分片 v2 需要注意每个文件最大分片数量为 10000; 当采用并发分片时,占用内存大小和当时启用并发任务数量有关,即:blockSize * 并发数量, 并发任务数量配置方式:Configuration.resumableUploadMaxConcurrentTaskCount 分片上传:支持分片上传 v1/v2,支持并发,支持断点续传
file size 小于 configuration.putThreshold 时采用表单上传 表单上传会占用 inputStream size 大小内存 表单上传:不支持分片上传 v1/v2,不支持并发,不支持断点续传
- Parameters:
filePath- 上传的文件路径【必须】key- 上传文件保存的文件名【可选】token- 上传凭证【必须】params- 自定义参数【可选】 自定义文件 metadata 信息,key 需要增加前缀 x-qn-meta- :如 params.put("x-qn-meta-key", "foo") 用户自定义变量,key 需要增加前缀 x: :如 params.put("x:foo", "foo")mime- 指定文件mimetype【可选】checkCrc- 是否验证crc32【可选】- Returns:
- Response
- Throws:
QiniuException- 异常
-
put
public Response put(java.io.File file, java.lang.String key, java.lang.String token) throws QiniuException
上传文件file size 大于 configuration.putThreshold 时采用分片上传 分片上传时,每个上传操作会占用 blockSize 大小内存,blockSize 也即分片大小, 在分片 v1 中 blockSize 为 4M; 分片 v2 可自定义 blockSize,定义方式为:Configuration.resumableUploadAPIV2BlockSize,范围为:1M ~ 1GB,分片 v2 需要注意每个文件最大分片数量为 10000; 当采用并发分片时,占用内存大小和当时启用并发任务数量有关,即:blockSize * 并发数量, 并发任务数量配置方式:Configuration.resumableUploadMaxConcurrentTaskCount 分片上传:支持分片上传 v1/v2,支持并发,支持断点续传
file size 小于 configuration.putThreshold 时采用表单上传 表单上传会占用 inputStream size 大小内存 表单上传:不支持分片上传 v1/v2,不支持并发,不支持断点续传
- Parameters:
file- 上传的文件对象【必须】key- 上传文件保存的文件名【可选】token- 上传凭证【必须】- Returns:
- Response
- Throws:
QiniuException- 异常
-
put
public Response put(java.io.File file, java.lang.String key, java.lang.String token, StringMap params, java.lang.String mime, boolean checkCrc) throws QiniuException
上传文件 * file size 大于 configuration.putThreshold 时采用分片上传 分片上传时,每个上传操作会占用 blockSize 大小内存,blockSize 也即分片大小, 在分片 v1 中 blockSize 为 4M; 分片 v2 可自定义 blockSize,定义方式为:Configuration.resumableUploadAPIV2BlockSize,范围为:1M ~ 1GB,分片 v2 需要注意每个文件最大分片数量为 10000; 当采用并发分片时,占用内存大小和当时启用并发任务数量有关,即:blockSize * 并发数量, 并发任务数量配置方式:Configuration.resumableUploadMaxConcurrentTaskCount 分片上传:支持分片上传 v1/v2,支持并发,支持断点续传file size 小于 configuration.putThreshold 时采用表单上传 表单上传会占用 inputStream size 大小内存 表单上传:不支持分片上传 v1/v2,不支持并发,不支持断点续传
- Parameters:
file- 上传的文件对象【必须】key- 上传文件保存的文件名【可选】token- 上传凭证【必须】params- 用户自定义信息【可选】mime- 指定文件mimetype【可选】checkCrc- 是否验证crc32【可选】- Returns:
- Response
- Throws:
QiniuException- 异常
-
asyncPut
public void asyncPut(byte[] data, java.lang.String key, java.lang.String token, StringMap params, java.lang.String mime, boolean checkCrc, UpCompletionHandler handler) throws java.io.IOException异步上传数据,表单上传不支持分片上传 v1/v2,不支持并发,不支持断点续传
- Parameters:
data- 上传的数据【必须】key- 上传数据保存的文件名token- 上传凭证【必须】params- 自定义参数【可选】 自定义文件 metadata 信息,key 需要增加前缀 x-qn-meta- :如 params.put("x-qn-meta-key", "foo") 用户自定义变量,key 需要增加前缀 x: :如 params.put("x:foo", "foo")mime- 指定文件mimetype【可选】checkCrc- 是否验证crc32【可选】handler- 上传完成的回调函数【必须】- Throws:
QiniuException- 上传异常java.io.IOException
-
put
public Response put(java.io.InputStream stream, java.lang.String key, java.lang.String token, StringMap params, java.lang.String mime) throws QiniuException
流式上传,通常情况建议文件上传,文件上传可以使用持久化的断点记录。支持分片上传 v1/v2,支持并发 不支持断点续传
inputStream size 大于 configuration.putThreshold 时采用分片上传 分片上传时,每个上传操作会占用 blockSize 大小内存,blockSize 也即分片大小, 在分片 v1 中 blockSize 为 4M; 分片 v2 可自定义 blockSize,定义方式为:Configuration.resumableUploadAPIV2BlockSize,范围为:1M ~ 1GB,分片 v2 需要注意每个文件最大分片数量为 10000; 当采用并发分片时,占用内存大小和当时启用并发任务数量有关,即:blockSize * 并发数量, 并发任务数量配置方式:Configuration.resumableUploadMaxConcurrentTaskCount 流式分片上传:支持分片上传 v1/v2,支持并发,不支持断点续传
inputStream size 小于 configuration.putThreshold 时采用表单上传 表单上传会占用 inputStream size 大小内存 表单上传:不支持分片上传 v1/v2,不支持并发,不支持断点续传
- Parameters:
stream- 文件流【必须】key- 上传文件保存的文件名【可选】token- 上传凭证【必须】params- 自定义参数【可选】 自定义文件 metadata 信息,key 需要增加前缀 x-qn-meta- :如 params.put("x-qn-meta-key", "foo") 用户自定义变量,key 需要增加前缀 x: :如 params.put("x:foo", "foo")mime- 指定文件mimetype【可选】- Returns:
- Response
- Throws:
QiniuException- 上传异常
-
-