Method: COS::API#upload_slice

Defined in:
lib/cos/api.rb

#upload_slice(path, file_name, file_src, options = {}) {|Float| ... } ⇒ Object

上传文件(分片上传)

Options Hash (options):

  • :biz_attr (String)

    目录属性, 业务端维护

  • :bucket (String)

    bucket名称

  • :disable_cpt (Boolean)

    是否禁用checkpoint功能,如果设置为true,则在上传的过程中不会写checkpoint文件,这意味着上传失败后不能断点续传,而只能重新上传整个文件。如果这个值为true,则:cpt_file会被忽略。

  • :threads (Integer)

    多线程上传线程数, 默认为10

  • :slice_size (Integer)

    设置分片上传时每个分片的大小默认为3 MB, 目前服务端最大限制也为3MB。

  • :cpt_file (String)

    断点续传的checkpoint文件,如果指定的cpt文件不存在,则会在file所在目录创建一个默认的cpt文件,命名方式为:file.cpt,其中file是用户要下载的文件名。在下载的过程中会不断更新此文件,成功完成下载后会删除此文件;如果指定的cpt文件已存在,则从cpt文件中记录的点继续下载。

Yields:

  • (Float)

    上传进度百分比回调, 进度值是一个0-1之间的小数

Raises:

See Also:



115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# File 'lib/cos/api.rb', line 115

def upload_slice(path, file_name, file_src, options = {}, &block)
  slice = Slice.new(
      config:    config,
      http:      http,
      path:      path,
      file_name: file_name,
      file_src:  file_src,
      options:   options,
      progress:  block
  ).upload

  {
      access_url:    slice[:access_url],
      url:           slice[:url],
      resource_path: slice[:resource_path]
  }
end