http PUTリクエストとリクエスト本文がファイルからのストリームとして問題があります。NSMutableURLRequestと「要求されたボディストリームが枯渇しました」エラー
-(NSInputStream*)connection:(NSURLConnection *)connection needNewBodyStream:(NSURLRequest *)request
が、このアプローチを:どんなに私はこの方法を実施することにより、この問題を上書きすることができます知っているファイルのサイズが、私はエラーを取得する「NSURLErrorDomain -1021リクエストボディストリーム枯渇」
を
もう一度ファイル全体をアップロードするとうまくいかず、40 MBのファイルが80 Mbのデータ転送になります。
NSDataと同じファイルを取得して、要求本体を正しく設定すると、正常に動作します。
リクエストを非同期に送信し、同じ結果を両方で同期しようとしました。ここで
は、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];
私が何か間違ったことをやっていますか? 何か不足していますか?
本当にあなたのために働いたのですか?私も同じ問題に直面しています。 – Selvin
あなたはこれをどのように説明するためのコードを投稿できますか? – d2burke