Я отправляю ZIP-файл с iPhone на сервер Rails, используя NSURLRequest. Проблема в том, что тип содержимого zip-файла теряется при передаче. Когда я загружаю тот же zip-файл из веб-браузера в Rails, тип содержимого сохраняется. Это наводит меня на мысль, что это связано с тем, как я отправляю его с iPhone. Кто-нибудь знает, почему это может произойти? Я разместил код iPhone ниже.
NSString * filePath = [self filePathForExportedData];
NSMutableURLRequest * theRequest = [NSMutableURLRequest requestWithURL: [NSURL URLWithString: kExportURLString]
cachePolicy: NSURLRequestUseProtocolCachePolicy
timeoutInterval: 20.0];
[theRequest setHTTPMethod:@"POST"];
[theRequest setValue: [NSString stringWithFormat:@"multipart/form-data; boundary=%@", BOUNDARY]
forHTTPHeaderField: @ "Content-Type"];
NSMutableData * fileData = [NSMutableData dataWithContentsOfFile: filePath];
NSMutableData * postData = [NSMutableData dataWithCapacity: [длина fileData] + 512];
[postData appendData: [[NSString stringWithFormat: @ "-% @ \ r \ n", BOUNDARY] dataUsingEncoding: NSUTF8StringEncoding]];
[postData appendData: [[NSString stringWithFormat: @ "Content-Disposition: form-data; name = \"% @ \ "; filename = \"% @ \ "\ r \ n \ r \ n", @ "archive_file" , @ "export.zip"]
dataUsingEncoding: NSUTF8StringEncoding]];
[postData appendData: [[NSString stringWithFormat: @ "Content-Type: application / zip \ r \ n \ r \ n"]
dataUsingEncoding: NSUTF8StringEncoding]];
[postData appendData: fileData];
[postData appendData: [[NSString stringWithFormat: @ "\ r \ n -% @ - \ r \ n", ГРАНИЦА] dataUsingEncoding: NSUTF8StringEncoding]];
[theRequest setHTTPBody: postData];
[self makeRequest: theRequest]; # Это отправит запрос