Home Reference Source
import {Tunnel} from 'qiniup/src/tunnel.js'
public class | source

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

bput(chunk: Blob, params: Object, options: Object, callback: Function): Function

上传分片 1.

public

fetch(file: String, params: Object, options: Object, callback: Function): *

第三方资源抓取

public

mkblk(block: Blob, params: Object, options: Object, callback: mkblkCallback): Function

上传块: 块只是一个虚拟的概念,块表示多个分片的集合的一个统称 1.

public

mkfile(ctxs: Array | String, params: Object, options: Object, callback: Function): Function

提交组合文件,将所有块与分片组合起来并生成文件 当所有块与分片都上传了,将所有块的返回

public

resuming(file: File | Blob, params: Object, options: Object, callback: Function): Function

分割文件并上传 一次过将文件分成多个,并进行并发上传 上传的快慢并不代表分个数的大小, 我们应该尽量 创建适当多个块(Block), 因为没上传的块只是阻塞 在任务队列中

public

upb64(content: string, params: Object, options: Object, callback: Function): Function

上传 base64 资源

public

upload(file: File | Blob, params: Object, options: Object, callback: Function): Function

上传文件 普通文件上传,适合小文件

Private Methods
private

_execTokenGetter(getter: *, callback: *): *

Static Public Members

public static defaultSettings: Object source

七牛通道类默认配置

Properties:

NameTypeAttributeDescription
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 request: Object source

设置 request

public settings: Object source

配置

public token: String source

令牌

public tokenExpire: Integer source

令牌过期时间

Public Methods

public bput(chunk: Blob, params: Object, options: Object, callback: Function): Function source

上传分片

  1. 多个分片可以组成一个块,每一个分片的开始与结尾都必须 在创建的时候并定义好,且第一个分片在上传块的时候必须 一并上传
  2. 七牛会返回一个哈希值(ctx),上传下一个分片的时候必须 将前一个分片的哈希值同时上传给服务器,第二个分片拿创建 块时上传的第一个分片范围的哈希值
  3. 最后一个分片值代表该块的结束,必须记录好哈希值(ctx); 在合并文件的时候可以通过这些最后的哈希值进行合成文件

Params:

NameTypeAttributeDescription
chunk Blob

params Object

参数

params.ctx String

前一次上传返回的块级上传控制信息

params.offset String

当前片在整个块中的起始偏移

params.token String

七牛令牌

options Object
  • optional
  • default: {}

上传配置

options.tokenGetter Function
  • optional

获取 Token 拦截器

options.useHttps Boolean
  • optional

是否使用 Https 进行上传

options.host String
  • optional

七牛HOST https://developer.qiniu.com/kodo/manual/1671/region-endpoint

options.tokenPrefix String
  • optional

令牌前缀

options.progress Function
  • optional

上传进度

callback Function

回调

Return:

Function

state.cancel 取消函数

See:

public fetch(file: String, params: Object, options: Object, callback: Function): * source

第三方资源抓取

Params:

NameTypeAttributeDescription
file String

远程文件

params Object
  • optional
  • default: {}

上传参数

params.token Object

七牛令牌

params.key Object
  • optional

如果没有指定则: 如果 uptoken.SaveKey 存在则基于 SaveKey 生产 key,否则用 hash 值作 key。EncodedKey 需要经过 base64 编码

params.bucket Object
  • optional

指定的存储区域 https://developer.qiniu.com/kodo/api/3966/bucket-image-source

options Object
  • optional
  • default: {}

配置

options.tokenGetter Function
  • optional

获取 Token 拦截器

options.useHttps Boolean
  • optional

是否使用 Https 进行上传

options.host String
  • optional

七牛HOST https://developer.qiniu.com/kodo/manual/1671/region-endpoint

options.tokenPrefix String
  • optional

令牌前缀

callback Function

回调函数

Return:

*

See:

public mkblk(block: Blob, params: Object, options: Object, callback: mkblkCallback): Function source

上传块: 块只是一个虚拟的概念,块表示多个分片的集合的一个统称

  1. 将文件分成若干块,可以并发进行上传,而块中拥有多个分片 每个块上传的开始必须将第一个分片同时上传
  2. 上传完之后会返回第一个分片的哈希值(ctx),第二个分片必 须同时上传第一个分片的哈希值

Params:

NameTypeAttributeDescription
block Blob

params Object

上传参数

params.token Object

七牛令牌

options Object
  • optional
  • default: {}

上传配置

options.tokenGetter Function
  • optional

获取 Token 拦截器

options.useHttps Boolean
  • optional

是否使用 Https 进行上传

options.host String
  • optional

七牛HOST https://developer.qiniu.com/kodo/manual/1671/region-endpoint

options.tokenPrefix String
  • optional

令牌前缀

options.chunkSize number
  • optional

设置每个分片的大小

options.progress Function
  • optional

上传进度

callback mkblkCallback

上传之后执行的回调函数

Return:

Function

state.cancel 取消函数

See:

public mkfile(ctxs: Array | String, params: Object, options: Object, callback: Function): Function source

提交组合文件,将所有块与分片组合起来并生成文件 当所有块与分片都上传了,将所有块的返回

Params:

NameTypeAttributeDescription
ctxs Array | String

文件

params Object

参数

params.size Integer

文件大小

params.key Object
  • optional

如果没有指定则:如果 uptoken.SaveKey 存在则基于 SaveKey 生产 key,否则用 hash 值作 key。EncodedKey 需要经过 base64 编码

params.mimeType Object
  • optional

文件的 MIME 类型,默认是 application/octet-stream

params.crc32 Object
  • optional

文件内容的 crc32 校验值,不指定则不进行校验

options Object
  • optional
  • default: {}

上传配置

options.tokenGetter Function
  • optional

获取 Token 拦截器

options.useHttps Boolean
  • optional

是否使用 Https 进行上传

options.host String
  • optional

七牛HOST https://developer.qiniu.com/kodo/manual/1671/region-endpoint

options.tokenPrefix String
  • optional

令牌前缀

options.progress Function
  • optional

上传进度

callback Function

回调

Return:

Function

state.cancel 取消函数

See:

public resuming(file: File | Blob, params: Object, options: Object, callback: Function): Function source

分割文件并上传 一次过将文件分成多个,并进行并发上传 上传的快慢并不代表分个数的大小, 我们应该尽量 创建适当多个块(Block), 因为没上传的块只是阻塞 在任务队列中

Params:

NameTypeAttributeDescription
file File | Blob

文件

params Object

上传参数

params.token Object

七牛令牌

params.key Object
  • optional

如果没有指定则:如果 uptoken.SaveKey 存在则基于 SaveKey 生产 key,否则用 hash 值作 key。EncodedKey 需要经过 base64 编码

params.mimeType Object
  • optional

文件的 MIME 类型,默认是 application/octet-stream

params.crc32 Object
  • optional

文件内容的 crc32 校验值,不指定则不进行校验

options Object
  • optional
  • default: {}

上传配置

options.tokenGetter Function
  • optional

获取 Token 拦截器

options.useHttps Boolean
  • optional

是否使用 Https 进行上传

options.host String
  • optional

七牛HOST https://developer.qiniu.com/kodo/manual/1671/region-endpoint

options.tokenPrefix String
  • optional

令牌前缀

options.cache Boolean
  • optional
  • default: true

设置本地缓存

options.override Boolean
  • optional
  • default: false

无论是否已经上传都进行重新上传

options.maxConnect Integer
  • optional
  • default: 4

最大连接数,设置最大上传分块(Block)的数量,其余分块(Block)将会插入队列中

options.progress Function
  • optional

上传进度

callback Function

回调

Return:

Function

state.cancel 取消函数

public upb64(content: string, params: Object, options: Object, callback: Function): Function source

上传 base64 资源

Params:

NameTypeAttributeDescription
content string

base64文件数据

params Object

上传参数

params.token Object

七牛令牌

params.size Integer
  • optional
  • default: -1

文件大小,-1为自动获取

params.key Object
  • optional

如果没有指定则:如果 uptoken.SaveKey 存在则基于 SaveKey 生产 key,否则用 hash 值作 key。EncodedKey 需要经过 base64 编码

params.mimeType Object
  • optional

文件的 MIME 类型,默认是 application/octet-stream

params.crc32 Object
  • optional

文件内容的 crc32 校验值,不指定则不进行校验

params.userVars Object
  • optional
options Object
  • optional
  • default: {}

上传配置

options.tokenGetter Function
  • optional

获取 Token 拦截器

options.useHttps Boolean
  • optional

是否使用 Https 进行上传

options.host String
  • optional

七牛HOST https://developer.qiniu.com/kodo/manual/1671/region-endpoint

options.tokenPrefix String
  • optional

令牌前缀

options.progress Function
  • optional

上传进度

callback Function

回调

Return:

Function

state.cancel 取消函数

See:

public upload(file: File | Blob, params: Object, options: Object, callback: Function): Function source

上传文件 普通文件上传,适合小文件

Params:

NameTypeAttributeDescription
file File | Blob

文件

params Object
  • optional
  • default: {}

上传参数

params.token Object

七牛令牌

params.key Object
  • optional

如果没有指定则:如果 uptoken.SaveKey 存在则基于 SaveKey 生产 key,否则用 hash 值作 key。EncodedKey 需要经过 base64 编码

options Object
  • optional
  • default: {}

上传配置

options.tokenGetter Function
  • optional

获取 Token 拦截器

options.useHttps Boolean
  • optional

是否使用 Https 进行上传

options.host String
  • optional

七牛HOST https://developer.qiniu.com/kodo/manual/1671/region-endpoint

options.tokenPrefix String
  • optional

令牌前缀

options.progress Function
  • optional

上传进度

callback Function

回调

Return:

Function

state.cancel 取消函数

Private Methods

private _execTokenGetter(getter: *, callback: *): * source

Params:

NameTypeAttributeDescription
getter *
callback *

Return:

*