2013-03-06 47 views
0

我的代碼圖像如何破文件時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]; 

發送到服務器的成功,但是圖像文件類型爲文本/計劃 我使用圖像巴紐

爲什麼圖像文件壞了嗎?

回答

1

你應該在一開始刪除\ r \ n這樣

[body appendData:[[NSString stringWithFormat:@"--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
相關問題