Class: DropboxApi::Endpoints::Files::UploadSessionAppendV2

Inherits:
ContentUpload show all
Includes:
OptionsValidator
Defined in:
lib/dropbox_api/endpoints/files/upload_session_append_v2.rb

Constant Summary collapse

Method =
:post
Path =
"/2/files/upload_session/append_v2".freeze
ResultType =
DropboxApi::Results::VoidResult
ErrorType =
DropboxApi::Errors::UploadSessionLookupError

Instance Method Summary collapse

Methods included from OptionsValidator

#validate_options

Methods inherited from ContentUpload

#build_request, #initialize, #perform_request

Methods inherited from Base

add_endpoint

Constructor Details

This class inherits a constructor from DropboxApi::Endpoints::ContentUpload

Instance Method Details

#upload_session_append_v2(cursor, content, options = {}) ⇒ Object

Append more data to an upload session.

When the parameter close is set, this call will close the session.

A single request should not upload more than 150 MB.

The maximum size of a file one can upload to an upload session is 350 GB.

Calling this method may update the cursor received. In particular, the offset variable will be increased to match the new position. This allows you to make subsequent calls to the endpoint using the same cursor, as you can see in the example.

Examples:

# Rely on the offset position updated by `upload_session_append_v2`
client = DropboxApi::Client.new
cursor = client.upload_session_start('abc')      # cursor.offset => 3
client.upload_session_append_v2(cursor, 'def')   # cursor.offset => 6
client.upload_session_append_v2(cursor, 'ghi')   # cursor.offset => 9
client.upload_session_finish(...)

Parameters:

Options Hash (options):

  • close (Boolean)

    If true, the current session will be closed, at which point you won't be able to call Client#upload_session_append_v2 anymore with the current session. The default for this field is false.

See Also:

  • UploadSessionCursor


38
39
40
41
42
43
44
45
46
47
48
# File 'lib/dropbox_api/endpoints/files/upload_session_append_v2.rb', line 38

add_endpoint :upload_session_append_v2 do |cursor, content, options = {}|
  validate_options([
    :close
  ], options)

  perform_request(options.merge({
    :cursor => cursor.to_hash
  }), content)

  cursor.offset += content.bytesize
end