なぜこれが難しいのか理解できません。オンラインのすべてのチュートリアルと記事は 1.0 API について話しているようですが、これはかなり役に立ちません。
私はいくつかの異なる方法を試しましたが、異なる結果が得られました。私は何を間違っていますか?
アップロード タスク - これはマルチパート フォームを使用していないようです、wtf?
NSMutableURLRequest *request = [self.manager.requestSerializer multipartFormRequestWithMethod:@"POST" URLString:[[NSURL URLWithString:url relativeToURL:[NSURL URLWithString:ApiBaseUrl]] absoluteString] parameters:@{} constructingBodyWithBlock:nil]; NSProgress *progress; NSURLSessionUploadTask *task = [self.manager uploadTaskWithRequest:request fromData:data progress:&progress completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) { if (error) { NSLog(@"[error description] = %@", [error description]); } else { NSLog(@"success!"); } }]; [task resume];
ブロック付きの投稿 - これは何も添付されていないようです
[self.manager POST:url parameters:@{} constructingBodyWithBlock:^(id <AFMultipartFormData> formData) { [formData appendPartWithFileData:data name:@"post[picture]" fileName:@"picture.jpg" mimeType:@"image/jpeg"]; } success:^(NSURLSessionDataTask *task, id response) { NSLog(@"Success"); } failure:^(NSURLSessionDataTask *task, NSError *error) { NSLog(@"Error: %@", error); }];
簡単な投稿 - これはほとんど機能しているようですが、そうではありません
[self.manager POST:url parameters:@{@"post[picture][]":data} success:^(NSURLSessionDataTask *task, id response) { NSLog(@"Success"); } failure:^(NSURLSessionDataTask *task, NSError *error) { NSLog(@"Error: %@", error); }];
1 が機能するのが大好きですが、なぜ機能しないのかわかりません。