Tunnel
七牛通道类 支持普通文件上传,适合图片文本等小文件上传 支持 Base64 文件上传,Base64 字符串长度并不等于文件大小,可参考:https://en.wikipedia.org/wiki/Base64 支持断点续传,缓存上传了的块与片保存在本地缓存中,若清除本地缓存则不能保证能继续上次的断点 块大小,每块均为4MB(102410244),最后一块大小不超过4MB 所有接口均参考七牛官方文档,一切均以七牛官方文档为准
Static Member Summary
Static Public Members | ||
public static |
七牛通道类默认配置 |
Constructor Summary
Public Constructor | ||
public |
|
Member Summary
Public Members | ||
public |
设置 request |
|
public |
配置 |
|
public |
令牌 |
|
public |
tokenExpire: Integer 令牌过期时间 |
Method Summary
Public Methods | ||
public |
上传分片 1. |
|
public |
第三方资源抓取 |
|
public |
上传块: 块只是一个虚拟的概念,块表示多个分片的集合的一个统称 1. |
|
public |
提交组合文件,将所有块与分片组合起来并生成文件 当所有块与分片都上传了,将所有块的返回 |
|
public |
分割文件并上传 一次过将文件分成多个,并进行并发上传 上传的快慢并不代表分个数的大小, 我们应该尽量 创建适当多个块(Block), 因为没上传的块只是阻塞 在任务队列中 |
|
public |
上传 base64 资源 |
|
public |
上传文件 普通文件上传,适合小文件 |
Private Methods | ||
private |
_execTokenGetter(getter: *, callback: *): * |
Static Public Members
public static defaultSettings: Object source
七牛通道类默认配置
Properties:
Name | Type | Attribute | Description |
defaultSettings.useHttps | Boolean | 是否使用 Https 进行上传 |
|
defaultSettings.cache | Boolean | 是否缓存 |
|
defaultSettings.maxConnect | Integer | 最大连接数 |
|
defaultSettings.blockSize | Integer | 分块大小 |
|
defaultSettings.blockSize | Integer | 分片大小 |
|
defaultSettings.maxBlockTasks | Integer | 最大分块任务数, 若文件巨大, 可能分块的时候会卡死浏览器, 因此设置最大分块数 |
Public Constructors
public constructor() source
Public Members
Public Methods
public bput(chunk: Blob, params: Object, options: Object, callback: Function): Function source
上传分片
- 多个分片可以组成一个块,每一个分片的开始与结尾都必须 在创建的时候并定义好,且第一个分片在上传块的时候必须 一并上传
- 七牛会返回一个哈希值(ctx),上传下一个分片的时候必须 将前一个分片的哈希值同时上传给服务器,第二个分片拿创建 块时上传的第一个分片范围的哈希值
- 最后一个分片值代表该块的结束,必须记录好哈希值(ctx); 在合并文件的时候可以通过这些最后的哈希值进行合成文件
Params:
Name | Type | Attribute | Description |
chunk | Blob | 片 |
|
params | Object | 参数 |
|
params.ctx | String | 前一次上传返回的块级上传控制信息 |
|
params.offset | String | 当前片在整个块中的起始偏移 |
|
params.token | String | 七牛令牌 |
|
options | Object |
|
上传配置 |
options.tokenGetter | Function |
|
获取 Token 拦截器 |
options.useHttps | Boolean |
|
是否使用 Https 进行上传 |
options.host | String |
|
七牛HOST https://developer.qiniu.com/kodo/manual/1671/region-endpoint |
options.tokenPrefix | String |
|
令牌前缀 |
options.progress | Function |
|
上传进度 |
callback | Function | 回调 |
public fetch(file: String, params: Object, options: Object, callback: Function): * source
第三方资源抓取
Params:
Name | Type | Attribute | Description |
file | String | 远程文件 |
|
params | Object |
|
上传参数 |
params.token | Object | 七牛令牌 |
|
params.key | Object |
|
如果没有指定则: 如果 uptoken.SaveKey 存在则基于 SaveKey 生产 key,否则用 hash 值作 key。EncodedKey 需要经过 base64 编码 |
params.bucket | Object |
|
指定的存储区域 https://developer.qiniu.com/kodo/api/3966/bucket-image-source |
options | Object |
|
配置 |
options.tokenGetter | Function |
|
获取 Token 拦截器 |
options.useHttps | Boolean |
|
是否使用 Https 进行上传 |
options.host | String |
|
七牛HOST https://developer.qiniu.com/kodo/manual/1671/region-endpoint |
options.tokenPrefix | String |
|
令牌前缀 |
callback | Function | 回调函数 |
Return:
* |
public mkblk(block: Blob, params: Object, options: Object, callback: mkblkCallback): Function source
上传块: 块只是一个虚拟的概念,块表示多个分片的集合的一个统称
- 将文件分成若干块,可以并发进行上传,而块中拥有多个分片 每个块上传的开始必须将第一个分片同时上传
- 上传完之后会返回第一个分片的哈希值(ctx),第二个分片必 须同时上传第一个分片的哈希值
Params:
Name | Type | Attribute | Description |
block | Blob | 块 |
|
params | Object | 上传参数 |
|
params.token | Object | 七牛令牌 |
|
options | Object |
|
上传配置 |
options.tokenGetter | Function |
|
获取 Token 拦截器 |
options.useHttps | Boolean |
|
是否使用 Https 进行上传 |
options.host | String |
|
七牛HOST https://developer.qiniu.com/kodo/manual/1671/region-endpoint |
options.tokenPrefix | String |
|
令牌前缀 |
options.chunkSize | number |
|
设置每个分片的大小 |
options.progress | Function |
|
上传进度 |
callback | mkblkCallback | 上传之后执行的回调函数 |
public mkfile(ctxs: Array | String, params: Object, options: Object, callback: Function): Function source
提交组合文件,将所有块与分片组合起来并生成文件 当所有块与分片都上传了,将所有块的返回
Params:
Name | Type | Attribute | Description |
ctxs | Array | String | 文件 |
|
params | Object | 参数 |
|
params.size | Integer | 文件大小 |
|
params.key | Object |
|
如果没有指定则:如果 uptoken.SaveKey 存在则基于 SaveKey 生产 key,否则用 hash 值作 key。EncodedKey 需要经过 base64 编码 |
params.mimeType | Object |
|
文件的 MIME 类型,默认是 application/octet-stream |
params.crc32 | Object |
|
文件内容的 crc32 校验值,不指定则不进行校验 |
options | Object |
|
上传配置 |
options.tokenGetter | Function |
|
获取 Token 拦截器 |
options.useHttps | Boolean |
|
是否使用 Https 进行上传 |
options.host | String |
|
七牛HOST https://developer.qiniu.com/kodo/manual/1671/region-endpoint |
options.tokenPrefix | String |
|
令牌前缀 |
options.progress | Function |
|
上传进度 |
callback | Function | 回调 |
public resuming(file: File | Blob, params: Object, options: Object, callback: Function): Function source
分割文件并上传 一次过将文件分成多个,并进行并发上传 上传的快慢并不代表分个数的大小, 我们应该尽量 创建适当多个块(Block), 因为没上传的块只是阻塞 在任务队列中
Params:
Name | Type | Attribute | Description |
file | File | Blob | 文件 |
|
params | Object | 上传参数 |
|
params.token | Object | 七牛令牌 |
|
params.key | Object |
|
如果没有指定则:如果 uptoken.SaveKey 存在则基于 SaveKey 生产 key,否则用 hash 值作 key。EncodedKey 需要经过 base64 编码 |
params.mimeType | Object |
|
文件的 MIME 类型,默认是 application/octet-stream |
params.crc32 | Object |
|
文件内容的 crc32 校验值,不指定则不进行校验 |
options | Object |
|
上传配置 |
options.tokenGetter | Function |
|
获取 Token 拦截器 |
options.useHttps | Boolean |
|
是否使用 Https 进行上传 |
options.host | String |
|
七牛HOST https://developer.qiniu.com/kodo/manual/1671/region-endpoint |
options.tokenPrefix | String |
|
令牌前缀 |
options.cache | Boolean |
|
设置本地缓存 |
options.override | Boolean |
|
无论是否已经上传都进行重新上传 |
options.maxConnect | Integer |
|
最大连接数,设置最大上传分块(Block)的数量,其余分块(Block)将会插入队列中 |
options.progress | Function |
|
上传进度 |
callback | Function | 回调 |
public upb64(content: string, params: Object, options: Object, callback: Function): Function source
上传 base64 资源
Params:
Name | Type | Attribute | Description |
content | string | base64文件数据 |
|
params | Object | 上传参数 |
|
params.token | Object | 七牛令牌 |
|
params.size | Integer |
|
文件大小,-1为自动获取 |
params.key | Object |
|
如果没有指定则:如果 uptoken.SaveKey 存在则基于 SaveKey 生产 key,否则用 hash 值作 key。EncodedKey 需要经过 base64 编码 |
params.mimeType | Object |
|
文件的 MIME 类型,默认是 application/octet-stream |
params.crc32 | Object |
|
文件内容的 crc32 校验值,不指定则不进行校验 |
params.userVars | Object |
|
|
options | Object |
|
上传配置 |
options.tokenGetter | Function |
|
获取 Token 拦截器 |
options.useHttps | Boolean |
|
是否使用 Https 进行上传 |
options.host | String |
|
七牛HOST https://developer.qiniu.com/kodo/manual/1671/region-endpoint |
options.tokenPrefix | String |
|
令牌前缀 |
options.progress | Function |
|
上传进度 |
callback | Function | 回调 |
public upload(file: File | Blob, params: Object, options: Object, callback: Function): Function source
上传文件 普通文件上传,适合小文件
Params:
Name | Type | Attribute | Description |
file | File | Blob | 文件 |
|
params | Object |
|
上传参数 |
params.token | Object | 七牛令牌 |
|
params.key | Object |
|
如果没有指定则:如果 uptoken.SaveKey 存在则基于 SaveKey 生产 key,否则用 hash 值作 key。EncodedKey 需要经过 base64 编码 |
options | Object |
|
上传配置 |
options.tokenGetter | Function |
|
获取 Token 拦截器 |
options.useHttps | Boolean |
|
是否使用 Https 进行上传 |
options.host | String |
|
七牛HOST https://developer.qiniu.com/kodo/manual/1671/region-endpoint |
options.tokenPrefix | String |
|
令牌前缀 |
options.progress | Function |
|
上传进度 |
callback | Function | 回调 |
Private Methods
private _execTokenGetter(getter: *, callback: *): * source
Params:
Name | Type | Attribute | Description |
getter | * | ||
callback | * |
Return:
* |