2012-12-01 3 views
2
NSURL *url = [NSURL URLWithString:@"http://127.0.0.1:8000/photo/"]; 
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url]; 
NSDictionary *headers = [NSDictionary dictionaryWithObject:data forKey:@"attachment"]; 
//NSLog(@"strimng"); 
NSMutableURLRequest *request = [httpClient multipartFormRequestWithMethod:@"POST" path:@"upload/" parameters:nil constructingBodyWithBlock: ^(id<AFMultipartFormData> formData) { 
    NSLog(@"strimng"); 
    [formData appendPartWithFileData:data name:@"attachment" fileName:@"attachment.jpg" mimeType:@"image/jpeg"]; 
    NSLog(@"strimng"); 
}]; 
NSLog(@"strimng"); 
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request]; 
[operation setUploadProgressBlock:^(NSUInteger bytesWritten, long long totalBytesWritten, long long totalBytesExpectedToWrite) { 
    NSLog(@"Sent %lld of %lld bytes", totalBytesWritten, totalBytesExpectedToWrite); 
}]; 
[operation start]; 

AFNetworking을 사용하여 아이폰에서 이미지를 업로드하려고하는데이 방법이 효과가 없습니다. formdata appenddata 명령 바로 앞에 NSLog가 로그 아웃되었습니다. 그러나 그 이후의 하나는 보이지 않습니다. 나는 또한 NSdata가 0인지 아닌지를 확인했다. obv는 요청을 보내지 않습니다. 누구든지 나를 도울 수 있습니다.AFNetworking을 사용하여 업로드

답변

3

이미지를 업로드해야한다고 가정하면 data과 함께 NSDictionary을 만드는 이유는 무엇입니까? 필요하지 않습니다. multipartFormRequestWithMethod 안에 data을 사용해야합니다.

는 다음과 같이 해보십시오

// Get the image that you want to upload via ImagePicker or a @property 
UIImage *imageIWantToUpload = self.image; 

// Create the NSData object for the upload process 
NSData *dataToUpload = UIImageJPEGRepresentation(imageIWantToUpload, 0.5); 

NSMutableURLRequest *request = [httpClient multipartFormRequestWithMethod:@"POST" path:@"upload/" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { 
    [formData appendPartWithFileData:dataToUpload name:@"attachment" fileName:@"attachment.jpg" mimeType:@"image/jpg"]; 
}]; 

// You can add then the progressBlock and the completionBlock 
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request]; 
[operation setUploadProgressBlock:progress]; 
[operation setCompletionBlockWithSuccess:success failure:failure]; 

당신이해야 당신이 nilNSMutableURLRequest 매개 변수 '필드를 설정하고 있기 때문에 서버 측, 일부 매개 변수를 기대하는 경우도 한 번 확인.

+0

그러나 내가 볼 수 있듯이 나는 아무 데서도 사용하지 않고있다. 그리고 내 서버에는 매개 변수가 필요하지 않습니다. –

+0

서버 측에서'''name = "attachment"'''를 기대하고 있는지 확인하십시오. 잃어버린 1h 그 알아 냈어 :) –

관련 문제