빠른 질문. 내 모든 업로드가 실패하고 어떤 이유로 NSURLConnection 이미지 서버에 업로드 오류
curl -v -F [email protected]/home/user/Downloads/test.jpg “http://...:8088/upload?session=(blabla)&conv=(blabla)"
묘사로
은 내가
Curl
함수로 동일한 작업을 수행하려합니다. 이것은 내 코드입니다.
// create request
static NSString *boundary = @"---------------------------14737809831466499882746641449";
NSData *imageData = [NSData dataWithData:UIImageJPEGRepresentation(image, 1.0)];
NSMutableURLRequest *request;
request= [[NSMutableURLRequest alloc] init];
[request setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData];
[request setHTTPShouldHandleCookies:NO];
[request setTimeoutInterval:30];
[request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://%@:8088/upload?session=%@&conv=%@", kQAServer, session , conv]]];
[request setHTTPMethod:@"POST"];
// add header
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@;",boundary];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];
// add image data
NSMutableData *postbody = [NSMutableData data];
[postbody appendData:[[NSString stringWithFormat:@"--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[postbody appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"content\"; \r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[postbody appendData:[@"Content-Type: application/octet-stream\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[postbody appendData:imageData];
[postbody appendData:[[NSString stringWithFormat:@"--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:postbody];
NSURLResponse * response = nil;
NSError * error = nil;
NSData * data = [NSURLConnection sendSynchronousRequest:request
returningResponse:&response
error:&error];
if (error == nil)
{
NSString *fileID = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
return fileID;
}
return nil;
가능한 중복 (http://stackoverflow.com/ 질문/8564833/ios-upload-image-and-text-using-http-post) – Legolas