Method: COS::API#upload

Defined in:
lib/cos/api.rb

#upload(path, file_name, file_src, options = {}) ⇒ Object

上传文件(完整上传)

Parameters:

  • path (String)

    目录路径, 如: ‘/’, ‘path1’, ‘path1/path2’, sdk会补齐末尾的 ‘/’

  • file_name (String)

    文件名

  • file_src (String)

    本地文件路径

  • options (Hash) (defaults to: {})

    高级参数

Options Hash (options):

  • :biz_attr (String)

    目录属性, 业务端维护

  • :bucket (String)

    bucket名称

Returns:

  • Hash

    • :access_url [String] 生成的文件下载url

    • :url [String] 操作文件的url

    • :resource_path [String] 资源路径

Raises:

See Also:



68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/cos/api.rb', line 68

def upload(path, file_name, file_src, options = {})
  bucket        = config.get_bucket(options[:bucket])
  sign          = http.signature.multiple(bucket)
  resource_path = Util.get_resource_path(config.app_id, bucket, path, file_name)

  payload = {
      op:            'upload',
      sha:           Util.file_sha1(file_src),
      filecontent:   File.new(file_src, 'rb'),
      biz_attr:      options[:biz_attr]
  }

  http.post(resource_path, {}, sign, payload)
end