2014-12-23 2 views
-2

В моем приложении мне нужно загрузить аудиофайл и xml-файл на сервер. Я успешно опубликовал аудиофайл. Но я не знаю, как отправить два файла параллельно. Кто-нибудь, пожалуйста, помогите мне.Цель c выгрузка нескольких файлов на сервер

NSString *soundFilePath = [[self GetDocumentDirectory] 
           stringByAppendingPathComponent:audioDet.audioName]; 
    NSMutableData *file1Data = [[NSMutableData alloc] initWithContentsOfFile:soundFilePath]; 

     //uploads/ 
     NSString *urlString = @"http://192.168.1.99/projects/fileUpload/upload.php"; 
     NSString *filename = audioDet.audioName; 
     NSMutableURLRequest *request= [[NSMutableURLRequest alloc] init] ; 
     [request setURL:[NSURL URLWithString:urlString]]; 
     [request setHTTPMethod:@"POST"]; 

     NSString *boundary = @"---------------------------14737809831466499882746641449"; 
     NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary]; 
     [request addValue:contentType forHTTPHeaderField: @"Content-Type"]; 
     [request setValue:@"Crystal" forHTTPHeaderField:@"ClientApp"]; 
     [request setValue:@"1.0" forHTTPHeaderField:@"ClientVersion"]; 
     [request setValue:@"617272656E64616C65445652" forHTTPHeaderField:@"ClientCredential"]; 
     [request setValue:audioDet.audioName forHTTPHeaderField:@"Target-file-name"]; 
     [request setValue:[NSString stringWithFormat:@"%@",audioDet.audioFileSize] forHTTPHeaderField:@"Target-file-length"]; 
     NSMutableData *postbody = [NSMutableData data]; 
     [postbody appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
     // NSString * value1 = [NSString stringWithFormat:@"Content-Disposition: form-data; name=\"userfile\"; name=\"%@\"\r\n", filename]; 

     [postbody appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"userfile\"; filename=\"%@\"\r\n", filename ] dataUsingEncoding:NSUTF8StringEncoding]]; 
     [postbody appendData:[@"Content-Type: application/octet-stream\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; 
     [postbody appendData:[NSData dataWithData:file1Data]]; 
     [postbody appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
     [request setHTTPBody:postbody]; 

     NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 
     NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding]; 

Спасибо, АКС

+0

И вы еще не искали, у вас есть. – Droppy

ответ

0

Хранить несколько файлов в массиве и перебирать те же используя for loop для отправки нескольких файлов на сервере.

+0

Спасибо за ваш ответ. Дай мне попробовать. – AKS

+1

OP использовать синхронный метод, использовать его в 'for loop', не может отправить два файла параллельно. – KudoCC

+1

Как это лучшее решение, чем многостраничный HTTP-запрос? – Droppy

Смежные вопросы