У меня есть система загрузки видео в приложении для iOS, использующая NSURLSessionUploadTask
. Видеофайл сохраняется в NSURL
, поэтому я использую следующий код в моем методе загрузки:
request.HTTPMethod = @"POST";
[request addValue:@"file" forHTTPHeaderField:@"fileName"];
// Create upload task
NSURLSessionUploadTask *task = [session uploadTaskWithRequest:request fromFile:filePath completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if(!error) {
// handle success
} else {
// handle error
}
}];
// Run the task
[task resume];
У меня есть PHP-сервер (использующий Laravel), работающий под nginx для обработки этой загрузки. Я тестировал его с помощью Postman, и он отлично принимает загрузки (ожидая файла под именем «файл»).
Когда я запускаю указанный выше код objc, сервер сообщает мне, что файл не загружен (массив $_FILES
пуст).
Я пробовал с установкой заголовка «fileName» и без него, и я пробовал установить «Content-Type» на «multipart / form-data», но ничего из этого не работает.
Как я могу заставить NSURLSessionUploadTask
правильно загружать эти файлы (с NSURL
) на сервер?
В этом сообщении описывается аналогичная проблема: NSURLSessionUploadTask не передает файл в скрипт php а>