Method: Baidu::PCS::Client#create_super_file

Defined in:
lib/baidu/pcs/client.rb

#create_super_file(block_list, path, overwrite = false) ⇒ Hash

合并分片文件

与分片文件上传 #upload_block 方法配合使用,可实现超大文件(>2G)上传,同时也可用于断点续传的场景

Examples:

返回的原始 JSON

{
  "path": "/apps/album/1.png",
  "size": 6844,
  "ctime": 1331197101,
  "mtime": 1331197101,
  "md5": "baa7c379639b74e9bf98c807498e1b64",
  "fs_id": 1548308694,
  "request_id": 4043313276
}

:path  该文件的绝对路径
:size  文件字节大小
:ctime 文件创建时间
:mtime 文件修改时间
:md5   文件的md5签名
:fs_id 文件在PCS的临时唯一标识ID

Parameters:

  • block_list (Array<String>)

    数组,数组的取值为子文件内容的MD5;子文件至少2个,最多1024个

  • path (String)

    上传文件路径(含上传的文件名称)

  • overwrite (Boolean) (defaults to: false)

    true: 表示覆盖同名文件false: 表示生成文件副本并进行重命名,命名规则为“文件名_日期.后缀”

Returns:

  • (Hash)

Raises:

  • (ArgumentError)

See Also:



208
209
210
211
212
213
214
# File 'lib/baidu/pcs/client.rb', line 208

def create_super_file(block_list, path, overwrite=false)
  raise ArgumentError, 'block_list must be Array'           unless block_list.instance_of? Array
  raise ArgumentError, 'block_list size must be in 2..1024' unless block_list.length.between? 2, 1024
  query = build_upload_query 'createsuperfile', path, overwrite
  param = { block_list: block_list }
  post "#{BASE_PATH}/file", query, param: JSON.dump(param)
end