Declared in AFHTTPClient.h

Overview

The AFMultipartFormData protocol defines the methods supported by the parameter in the block argument of AFHTTPClient -multipartFormRequestWithMethod:path:parameters:constructingBodyWithBlock:.

Tasks

  • – appendPartWithFileURL:name:error:

    Appends the HTTP header Content-Disposition: file; filename=#{generated filename}; name=#{name}" and Content-Type: #{generated mimeType}, followed by the encoded file data and the multipart form boundary.

    required method
  • – appendPartWithFileData:name:fileName:mimeType:

    Appends the HTTP header Content-Disposition: file; filename=#{filename}; name=#{name}" and Content-Type: #{mimeType}, followed by the encoded file data and the multipart form boundary.

    required method
  • – appendPartWithFormData:name:

    Appends the HTTP headers Content-Disposition: form-data; name=#{name}", followed by the encoded data and the multipart form boundary.

    required method
  • – appendPartWithHeaders:body:

    Appends HTTP headers, followed by the encoded data and the multipart form boundary.

    required method
  • – throttleBandwidthWithPacketSize:delay:

    Throttles request bandwidth by limiting the packet size and adding a delay for each chunk read from the upload stream.

    required method

Instance Methods

appendPartWithFileData:name:fileName:mimeType:

Appends the HTTP header Content-Disposition: file; filename=#{filename}; name=#{name}" and Content-Type: #{mimeType}, followed by the encoded file data and the multipart form boundary.

- (void)appendPartWithFileData:(NSData *)data name:(NSString *)name fileName:(NSString *)fileName mimeType:(NSString *)mimeType

Parameters

data

The data to be encoded and appended to the form data.

name

The name to be associated with the specified data. This parameter must not be nil.

mimeType

The MIME type of the specified data. (For example, the MIME type for a JPEG image is image/jpeg.) For a list of valid MIME types, see http://www.iana.org/assignments/media-types/. This parameter must not be nil.

filename

The filename to be associated with the specified data. This parameter must not be nil.

Discussion

Appends the HTTP header Content-Disposition: file; filename=#{filename}; name=#{name}" and Content-Type: #{mimeType}, followed by the encoded file data and the multipart form boundary.

Declared In

AFHTTPClient.h

appendPartWithFileURL:name:error:

Appends the HTTP header Content-Disposition: file; filename=#{generated filename}; name=#{name}" and Content-Type: #{generated mimeType}, followed by the encoded file data and the multipart form boundary.

- (BOOL)appendPartWithFileURL:(NSURL *)fileURL name:(NSString *)name error:(NSError *__autoreleasing *)error

Parameters

fileURL

The URL corresponding to the file whose content will be appended to the form. This parameter must not be nil.

name

The name to be associated with the specified data. This parameter must not be nil.

error

If an error occurs, upon return contains an NSError object that describes the problem.

Return Value

YES if the file data was successfully appended, otherwise NO.

@discussion The filename and MIME type for this data in the form will be automatically generated, using NSURLResponse -suggestedFilename and -MIMEType, respectively.

Discussion

Appends the HTTP header Content-Disposition: file; filename=#{generated filename}; name=#{name}" and Content-Type: #{generated mimeType}, followed by the encoded file data and the multipart form boundary.

Declared In

AFHTTPClient.h

appendPartWithFormData:name:

Appends the HTTP headers Content-Disposition: form-data; name=#{name}", followed by the encoded data and the multipart form boundary.

- (void)appendPartWithFormData:(NSData *)data name:(NSString *)name

Parameters

data

The data to be encoded and appended to the form data.

name

The name to be associated with the specified data. This parameter must not be nil.

Discussion

Appends the HTTP headers Content-Disposition: form-data; name=#{name}", followed by the encoded data and the multipart form boundary.

Declared In

AFHTTPClient.h

appendPartWithHeaders:body:

Appends HTTP headers, followed by the encoded data and the multipart form boundary.

- (void)appendPartWithHeaders:(NSDictionary *)headers body:(NSData *)body

Parameters

headers

The HTTP headers to be appended to the form data.

body

The data to be encoded and appended to the form data.

Discussion

Appends HTTP headers, followed by the encoded data and the multipart form boundary.

Declared In

AFHTTPClient.h

throttleBandwidthWithPacketSize:delay:

Throttles request bandwidth by limiting the packet size and adding a delay for each chunk read from the upload stream.

- (void)throttleBandwidthWithPacketSize:(NSUInteger)numberOfBytes delay:(NSTimeInterval)delay

Parameters

numberOfBytes

Maximum packet size, in number of bytes. The default packet size for an input stream is 32kb.

delay

Duration of delay each time a packet is read. By default, no delay is set.

@discussion When uploading over a 3G or EDGE connection, requests may fail with “request body stream exhausted”. Setting a maximum packet size and delay according to the recommended values (kAFUploadStream3GSuggestedPacketSize and kAFUploadStream3GSuggestedDelay) lowers the risk of the input stream exceeding its allocated bandwidth. Unfortunately, as of iOS 6, there is no definite way to distinguish between a 3G, EDGE, or LTE connection. As such, it is not recommended that you throttle bandwidth based solely on network reachability. Instead, you should consider checking for the “request body stream exhausted” in a failure block, and then retrying the request with throttled bandwidth.

Discussion

Throttles request bandwidth by limiting the packet size and adding a delay for each chunk read from the upload stream.

Declared In

AFHTTPClient.h