NSURLSessionUploadTask
을 사용하는 iOS 앱에 비디오 업로드 시스템이 있습니다. 비디오 파일은 내가 내 업로드 방법에 다음 코드를 사용하고 NSURL
에 저장됩니다NSURLSessionUploadTask를 사용하여 PHP 서버에 파일 업로드
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];
내가이 업로드를 처리 할 수의 nginx에서 실행 (Laravel를 사용하여) PHP의 서버가 있습니다. Postman과 함께 테스트 해 보았고 업로드 (파일 "file"이라는 이름의 파일을 기다리는)를 허용합니다.
위의 objc 코드를 실행하면 서버에 업로드 된 파일이 없음 ($_FILES
배열이 비어 있음)입니다.
"fileName"헤더를 설정하지 않고 시도했지만 "multipart/form-data"로 "Content-Type"설정을 시도했지만이 중 아무 것도 작동하지 않았습니다.
NSURLSessionUploadTask
을 올바르게 (NSURL
에서) 서버로 업로드하려면 어떻게해야합니까? NSURLSessionUploadTask not passing file to php script
파일에 무엇이 있습니까? PHP는 몸체가 [폼 기반 파일 업로드] (http://stackoverflow.com/questions/8659808/how-does-http-file-upload-work)처럼 보이기를 기대할 것이며, uploadTaskWithRequest doesn 무엇이든 "똑똑한"일을하지 마십시오. 단지 파일을 본문 데이터로 보냅니다. –
.mov 파일입니다. – GTF
AFNetworking을 사용하고 auth 헤더를 "수동으로"작성하여 인증 문제를 해결함으로써이 문제를 해결했습니다 (base64 인코딩 등). – GTF