Mein Parameter ist ein [String: AnyObjecy] Wörterbuch und ich verwende Alamofire Upload-Methode, um ein Bild hochzuladen. Wenn ich will, um die Parameter, mit ihm zu übergeben, wobei das Verfahren durch EdFunke vorgeschlagen unter Verwendung von (https://stackoverflow.com/a/33012955/4919289) i die folgenden Fehler auftreten: 'NSInvalidArgumentException' Grund: ‚- [__ NSCFNumber dataUsingEncoding:So laden Sie Parameter mit nicht-string-Wert in Upload-Methode in Alamofire
bei:
for (key, value) in params{
print("before key: \(key)")
multipartFormData.appendBodyPart(data: value.dataUsingEncoding(NSUTF8StringEncoding)!, name: key)
print("after key:\(key)")
}
Ich denke, es ist, weil der Wert in den Wörterbüchern keine Zeichenfolge ist, wie kann ich es lösen?
bei 27/2/2017 mit Swift 3
let params = [
//your params
] as [String : Any]
Alamofire.upload(multipartFormData: { (multipartFormData) in
multipartFormData.append(self.user.imageData, withName: "your file name", fileName: "your file name with extension", mimeType: "image/jpeg")
for (key, value) in params{
print("key,value: \(key),\(value)")
let stringValue = value as! String
multipartFormData.append(stringValue.data(using: .utf8)!, withName: key)
}
}, to:"your url")
{ (result) in
switch result {
case .success(let upload, _, _):
upload.uploadProgress(closure: { (progress) in
//Print progress
print("Upload Progress: \(progress.fractionCompleted)")
})
upload.responseJSON { response in
//print response.result
print(response.result)
}
case .failure(let encodingError):
print("in faulure")
print(encodingError)
self.presentAlertView(title: "Error", message: "cannot register", buttonText: "OK")
//print(encodingError.description)
break
//print encodingError.description
}
}
In diesem Fall tun kann der Parameter eine Zahl ist ('NSNumber'). Sie könnten die Zeichenfolgendarstellung verwenden. – vadian
@Edison haben Sie keine Lösung für Ihre Frage gefunden, ich möchte komplexe JSON in Params mit Upload-Methode senden, jede Hilfe bitte – Abdel
@Abdel Ich habe meine Frage mit einer Lösung aktualisiert –