Di seguito è snippet per il caricamento di un file immagine.Voglio utilizzare solo NSURLSessionUploadTask, perché fornisce la funzione di caricamento in background che voglio utilizzare nella mia app.NSURLSessionUploadTask non è riuscito a caricare il file
Inoltre, desidero impostare il parametro POST insieme al caricamento del file.
Anche io non sono buono nel codice lato server. Qualcuno può indicarmi cosa sto facendo di sbagliato.
Carica Codice
NSString* filePath = [[NSBundle mainBundle]
pathForResource:@"sample" ofType:@"jpg"];
uint64_t bytesTotalForThisFile = [[[NSFileManager defaultManager] attributesOfItemAtPath:filePath error:NULL] fileSize];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:uploadPath];
[request setHTTPMethod:@"POST"];
[request setValue:[NSString stringWithFormat:@"%llu", bytesTotalForThisFile] forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/octet-stream" forHTTPHeaderField:@"Content-Type"];
[request setTimeoutInterval:30];
NSString* filePath = [[NSBundle mainBundle]
pathForResource:@"sample" ofType:@"jpg"];
NSURLSessionUploadTask *taskUpload= [self.uploadSession uploadTaskWithRequest:request fromFile:[[NSURL alloc] initFileURLWithPath:filePath]];
codice PHP
<?php
$objFile = & $_FILES["file"];
$strPath = basename($objFile["name"]);
if(move_uploaded_file($objFile["tmp_name"], $strPath)) {
print "The file " . $strPath . " has been uploaded.";
} else {
print "There was an error uploading the file, please try again!";
}
Dal lato server sto ottenendo array vuoto a $ _FILES
Sto utilizzando la sessione in background non predefinita, Anche il gestore di completamento non è consentito nella sessione in background. Anche NSData come immagine non è consentito come immagine. – Mukesh