写真を Web サービスにアップロードしようとしていますが、次のコードを使用しています。
NSData *imageData = UIImageJPEGRepresentation([UIImage imageNamed:imageToUpload], 0.5);
// 1
NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
config.HTTPMaximumConnectionsPerHost = 1;
[config setHTTPAdditionalHeaders:@{@"Content-Type":@"multipart/form-data"}];
// 2
NSURLSession *upLoadSession = [NSURLSession sessionWithConfiguration:config delegate:self delegateQueue:nil];
// for now just create a random file name, dropbox will handle it if we overwrite a file and create a new name..
NSString *urlString =[NSString stringWithFormat:@"https://ABC.co.uk/photos?api_key=MYAPIKEY" ];
NSURL *webUrl = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:webUrl];
[request setHTTPMethod:@"POST"];
// 3
NSURLSessionUploadTask *uploadTask = [upLoadSession uploadTaskWithRequest:request fromData:imageData];
// 4
// uploadView.hidden = NO;
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
// 5
[uploadTask resume];
エラー 500 が表示され、どうすればよいかわかりません。
This、This、およびThisのようなボディデータの追加である AFNetworking の実装を試みました。しかし、運はありません。
上記のコードは、Ray Wenderlich の Web サイトからのものです。
サーバーを提供する必要があるのはこれだけです:
- ファイル(画像)
- API キー (NSMutableURLRequest の
addValue:forHTTPHeaderField
: を使用してみましたが、うまくいかなかったので、URL で使用しています。安全性の面でベスト プラクティスではないことはわかっていますが、これまでのように必死になっています。これに 10 時間以上取り組んでいます! 一歩ずつ!) - ある
Content-Type
べきmultipart/form-data
それが私が提供する必要があるすべてですが、それでも私はどこにも行きません!
誰でも助けてもらえますか?
前もって感謝します
更新 1: URL 構造に変更を加え、API キーを HTTPBody の辞書として追加したところ、エラー 403 が発生しました。
Apple が接続のこの部分をシリアル化する努力をしていないのは、本当に奇妙に思えます。ともかく。誰でも助けてくれて本当にありがとう!