Erro NSMutableURLRequest e "solicitação do fluxo do corpo esgotado"
Estou com um problema com a solicitação http PUT e o corpo da solicitação como fluxo do arquivo.
Não importa o tamanho do arquivo, recebo o erro "NSURLErrorDomain -1021 request body stream esgotado"
Eu sei que posso substituir esse problema implementando o método:
-(NSInputStream*)connection:(NSURLConnection *)connection needNewBodyStream:(NSURLRequest *)request
mas essa abordagem não é boa, pois fará o upload do arquivo inteiro novamente e 40 MB de arquivo são 80 Mb de transferência de dados.
se eu pegar o mesmo arquivo que o NSData e definir o corpo da solicitação, ele funcionará bem.
Tentei enviar a solicitação assíncrona e sincronize o mesmo resultado em ambas.
Aqui está o meu código, simples e semelhante ao exemplo da 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];
Estou fazendo algo errado? Estou esquecendo de algo?