Class ResumableUpload<TRequest, TResponse>

public class ResumableUpload<TRequest, TResponse> : ResumableUpload<TRequest>

Media upload which uses Google's resumable media upload protocol to upload data. The version with two types contains both a request object and a response object.

Inheritance

Object > ResumableUpload > ResumableUpload<TRequest> > ResumableUpload<TRequest, TResponse>

Namespace

Google.Apis.Upload

Assembly

Google.Apis.dll

Type Parameters

NameDescription
TRequest

The type of the body of this request. Generally this should be the metadata related to the content to be uploaded. Must be serializable to/from JSON.

TResponse

The type of the response body.

Remarks

See: https://developers.google.com/gdata/docs/resumable_upload for information on the protocol.

Constructors

ResumableUpload(IClientService, String, String, Stream, String)

protected ResumableUpload(IClientService service, string path, string httpMethod, Stream contentStream, string contentType)

Create a resumable upload instance with the required parameters.

Parameters
TypeNameDescription
IClientServiceservice

The client service.

Stringpath

The path for this media upload method.

StringhttpMethod

The HTTP method to start this upload.

StreamcontentStream

The stream containing the content to upload.

StringcontentType

Content type of the content to be uploaded.

Remarks

Considerations regarding contentStream:

  • If contentStream is seekable, then the stream position will be reset to 0 before reading commences. If contentStream is not seekable, then it will be read from its current position.
  • Caller is responsible for maintaining the contentStream open until the upload is completed.
  • Caller is responsible for closing the contentStream.

Properties

ResponseBody

public TResponse ResponseBody { get; }

The response body.

Property Value
TypeDescription
TResponse
Remarks

This property will be set during upload. The ResponseReceived event is triggered when this has been set.

Methods

ProcessResponse(HttpResponseMessage)

protected override void ProcessResponse(HttpResponseMessage response)

Process the response body

Parameter
TypeNameDescription
HttpResponseMessageresponse
Overrides

Events

ResponseReceived

public event Action<TResponse> ResponseReceived

Event which is called when the response metadata is processed.

Event Type
TypeDescription
Action<TResponse>

Extension Method