5
Quindi sto caricando un file da rapido a un server PHP, la richiesta POST arriva come previsto con le intestazioni e tutto ma non riesco a ottenere nulla da $_FILES
. È solo un array vuoto.Swift carica il file sul server PHP
sto chiaramente facendo qualcosa di sbagliato sul lato Swift, questo è il mio codice:
func testUpload(){
let bundle = NSBundle.mainBundle()
let path = bundle.pathForResource("someTestFile", ofType: "zip")!
var data: NSData = NSData(contentsOfFile: path)!
var request = NSMutableURLRequest(URL: NSURL(string: "http://testsite.com/upload")!)
request.HTTPMethod = "POST"
let boundary = "----------ds2Gry67efddagdfsfhsHF"
let contentType = "multipart/form-data; boundary=\(boundary)"
request.setValue(contentType, forHTTPHeaderField:"Content-Type")
request.setValue("Keep-Alive", forHTTPHeaderField: "Connection")
self.uploadFiles(request, data: data)
}
func uploadFiles(request: NSURLRequest, data: NSData) {
var configuration = NSURLSessionConfiguration.defaultSessionConfiguration()
var session = NSURLSession(configuration: configuration, delegate: self, delegateQueue: NSOperationQueue.mainQueue())
var task = session.uploadTaskWithRequest(request, fromData: data)
task.resume()
}
Sono abbastanza sicuro che mi manca qualcosa, non riesco proprio a capire di cosa si tratta. ..
Forse qualcosa a che fare con ContentDisposition? – matt
hai in mente di utilizzare Alamofire? –
vedi questa ottima risposta http://stackoverflow.com/questions/26162616/upload-image-with-parameters-in-swift –