NSMutableURLRequest y error de "solicitud de flujo de cuerpo agotado"

Tengo un problema con la solicitud PUT http y el cuerpo de la solicitud como secuencia del archivo.

No importa el tamaño del archivo, obtengo el error "NSURLErrorDomain -1021 solicitud de flujo de cuerpo agotado"

Sé que puedo anular este problema implementando el método:

-(NSInputStream*)connection:(NSURLConnection *)connection needNewBodyStream:(NSURLRequest *)request

pero este enfoque no es bueno ya que cargará todo el archivo nuevamente, y 40 MB de archivo resultan ser 80 Mb de transferencia de datos.

si tomo el mismo archivo que NSData y configuro el cuerpo de la solicitud, funciona bien.

Intenté enviar la solicitud Async y sincronizar el mismo resultado en ambos.

Aquí está mi código, simple y similar al ejemplo de Apple:

NSURL *url = [NSURL URLWithString:[self concatenatedURLWithPath:path]];
NSMutableURLRequest *req = [[NSMutableURLRequest alloc] initWithURL:url];
[req setHTTPMethod:@"PUT"];
[req setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData];
[request setTimeoutInterval:DEFAULT_TIMEOUT];
[req setValue:_contentType forHTTPHeaderField:@"Content-Type"];
NSInputStream *fileStream = [NSInputStream inputStreamWithFileAtPath:_dataStreamLocation];

[req setHTTPBodyStream:fileStream];
_connection = [[NSURLConnection connectionWithRequest:req delegate:self] retain];

¿Estoy haciendo algo mal? ¿Me estoy perdiendo de algo?

Respuestas a la pregunta(3)

Su respuesta a la pregunta