Method: Baidu::PCS::Client#rapid_upload

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

#rapid_upload(path, content_length, content_md5, slice_md5, content_crc32, overwrite = false) ⇒ Hash

Note:

被秒传文件必须大于256KB(即 256*1024 B);校验段为文件的前256KB,秒传接口需要提供校验段的MD5。

Note:

非强一致接口,上传后请等待1秒后再读取

秒传文件

Examples:

返回的原始 JSON

{
  "path": "/apps/album/1.jpg",
  "size": 372121,
  "ctime": 1234567890,
  "mtime": 1234567890,
  "md5": "cb123afcc12453543ef",
  "fs_id": 12345,
  "isdir": 0,
  "request_id": 12314124
}
:path  秒传文件的绝对路径
:size  秒传文件的字节大小
:ctime 秒传文件的创建时间。
:mtime 秒传文件的修改时间
:md5   秒传文件的md5签名
:fs_id 秒传文件在PCS的唯一标识ID
:isdir  “0”文件 “1”目录

Parameters:

  • path (String)

    上传文件的全路径名(相对于应用根目录)

  • content_length (Fixnum)

    待秒传的文件长度

  • content_md5 (String)

    待秒传的文件的MD5

  • slice_md5 (String)

    待秒传文件校验段的MD5

  • content_crc32 (String)

    待秒传文件校验段的MD5

  • overwrite (Boolean) (defaults to: false)

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

Returns:

  • (Hash)

See Also:



729
730
731
732
733
734
735
736
737
738
# File 'lib/baidu/pcs/client.rb', line 729

def rapid_upload(path, content_length, content_md5, slice_md5, content_crc32, overwrite=false)
  path = build_path path, true
  query = { :path             => path,
            :'content-length' => content_length,
            :'content-md5'    => content_md5,
            :'slice-md5'      => slice_md5,
            :'content-crc32'  => content_crc32 }
  query[:ondup] = overwrite ? 'overwrite' : 'newcopy'
  post "#{BASE_PATH}/file", query.update(base_query 'rapidupload')
end