Загрузка файла с использованием NSURLSessionUploadTask на сервер PHP
У меня есть система загрузки видео в приложении 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 для обработки этой загрузки. Я проверил это с почтальоном, и он принимает загрузки нормально (ожидая файл с именем «файл»).
Когда я запускаю приведенный выше код objc, сервер сообщает мне, что файл не был загружен ($_FILES
массив пуст).
Я пробовал с и без установки заголовка «fileName», и я пытался установить «Content-Type» в «multipart / form-data», но ни одна из этих работ не работает.
Как я могу получитьNSURLSessionUploadTask
правильно загрузить эти файлы (изNSURL
а) на сервер?
Этот пост, кажется, детализирует похожую проблему:NSURLSessionUploadTask не передает файл в скрипт php