Fazendo upload de arquivo usando o NSURLSessionUploadTask para o servidor PHP
Eu tenho um sistema de upload de vídeo em um aplicativo iOS usandoNSURLSessionUploadTask
. O arquivo de vídeo é salvo em umNSURL
então estou usando o seguinte código no meu método de upload:
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];
Eu tenho um servidor PHP (usando Laravel) rodando sob nginx para lidar com este upload. Eu testei com o Postman, e ele aceita uploads bem (esperando um arquivo com o nome "arquivo").
Quando executo o código objc acima, o servidor informa que nenhum arquivo foi carregado (o$_FILES
matriz está vazia).
Eu tentei com e sem definir o cabeçalho "fileName" e tentei definir "Content-Type" como "multipart / form-data", mas nenhuma dessas funciona.
Como posso obterNSURLSessionUploadTask
para carregar corretamente esses arquivos (de umNSURL
) para o servidor?
Este post parece detalhar um problema semelhante:NSURLSessionUploadTask não está passando o arquivo para o script php