オンラインphpスクリプトにデータを投稿するために、Objective Cにメソッド/関数を書き込もうとしています。すべて順調に進んでいます。提供した数のファイルを正常にアップロードしますが、これらのファイルと一緒に変数を送信する方法がわかりません。このサイトを何時間も調べましたが、ファイルと変数を投稿する例を見つけることができません。
NSURL * postURL = [NSURL URLWithString:serverURL];
NSString * contentBoundary = @"-14737809831466499882746641449";
NSString * contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", contentBoundary];
// Build Request
NSMutableURLRequest * urlRequest = [NSMutableURLRequest requestWithURL:postURL];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest addValue:contentType forHTTPHeaderField: @"Content-Type"];
NSMutableData * postBody = [NSMutableData data];
NSMutableString * postString = [NSMutableString stringWithFormat:@""];
for(NSString * key in dataArray) [postString appendString:[NSString stringWithFormat:@"%@=%@&", key, [dataArray objectForKey:key]]];
[postString deleteCharactersInRange:NSMakeRange([postString length] -1, 1)]; // Trim trailing ampersand from string
NSData * postData = [postString dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:NO];
[postBody appendData:[NSData dataWithData:postData]];
if(attachments != nil){
for(NSString * filePath in attachments){
NSString * fileName = [filePath lastPathComponent];
NSData * attachedFile = [NSData dataWithContentsOfFile:filePath];
[postBody appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", contentBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[[NSString stringWithFormat:@"Content-Disposition:form-data;name=\"userfile[]\"; filename=\"%@\"\r\n", fileName] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[[NSString stringWithFormat:@"Content-Type:application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[NSData dataWithData:attachedFile]];
[postBody appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n", contentBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
}
}
NSString * postLength = [NSString stringWithFormat:@"%d", [postBody length]];
[urlRequest setValue:postLength forHTTPHeaderField:@"Content-Length"];
[urlRequest setHTTPBody:postBody];
どんな助けでも大歓迎です。