2013-03-06 1 views
0

내 코드으로 multipart 때 어떻게 깨진 이미지 파일IOS 서버

NSString *urlString = [NSString stringWithFormat:@"%@%@", urlHeader, urlBody]; 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlString] cachePolicy:0 timeoutInterval:TIMEOUT_INTERVAL]; 
[request setHTTPMethod:@"POST"]; 

NSString *boundary = @"--Kqcekgk5QEa0NR71B"; 
NSMutableData *body = [NSMutableData data]; 
NSMutableData *imageBody = [NSMutableData data]; 
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary]; 
[request addValue:contentType forHTTPHeaderField: @"Content-Type"]; 

[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"\r\n\r\n%@", BOARD_ID, boardType] dataUsingEncoding:NSUTF8StringEncoding]]; 
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"\r\n\r\n%d", BOARD_SEQ, [boardSeq intValue]] dataUsingEncoding:NSUTF8StringEncoding]]; 
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 


for(int i=0; i<[imagesArr count]; i++) { 
    if([[imagesArr objectAtIndex:i] isMemberOfClass:[UIImage class]]) { 
     NSData *imageData = UIImageJPEGRepresentation([imagesArr objectAtIndex:i] , 90); 

     [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"FILE_UPLOAD%d\"; filename=\"IMG_IPHONE%d.jpg\"\r\n\r\n", i+1, i+1] dataUsingEncoding:NSUTF8StringEncoding]]; 
     [body appendData:[@"Content-Type:application/octet-stream\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; 
     [body appendData:[NSData dataWithData:imageData]]; 
     [body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
    } 
} 
[body appendData:imageBody]; 

텍스트/계획 같은 서버 성공하지만 이미지 파일 형식으로 보내 내가 사용하는 이미지 .PNG 이미지 파일이 깨진 이유

?

답변

1

[body appendData:[[NSString stringWithFormat:@"--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
처럼 시작 부분에 \ 연구 \ n을 제거해야