0

NSURLSessionUploadTaskカスタム REST サービスにファイルを送信しようとして問題が発生しました。問題は、ファイルが任意のサイズまで転送されたように見え、タスクがエラーなしで停止することです ( URLSession:task:didCompleteWithError:gets がerrorset toで呼び出されますnil)。

転送する必要があるファイルのサイズはほぼ 10 MB で、小さなファイルが正しく転送される場合があることがわかりました。

タスクの作成に使用しているコードは次のとおりです。

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:url];
[request setValue:@"application/json; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[request setValue:@"100-continue" forHTTPHeaderField:@"Expect"];
[request setHTTPMethod:@"POST"];
[request setValue:[NSString stringWithFormat:@"%d", length] forHTTPHeaderField:@"Content-Length"];

NSURL *fileUrl = [NSURL fileURLWithPath:instanceFilePath];

NSURLSessionUploadTask *uploadTask = [self.session uploadTaskWithRequest:request fromFile:fileUrl];

サーバーがリクエストを正しく解釈するには、いくつかのヘッダーを指定する必要があります。length変数は、送信されるファイルの有効サイズです。

ここで何が起こっているかについて何か考えはありますか?

ありがとう。

4

0 に答える 0