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'
ResultType =
DropboxApi::Results::VoidResult
ErrorType =
DropboxApi::Errors::UploadSessionLookupError

Instance Method Summary collapse

Methods included from OptionsValidator

#validate_options

Methods inherited from ContentUpload

#build_connection, #build_request, #perform_request

Methods inherited from Base

add_endpoint, #initialize

Constructor Details

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

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


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

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