Ich versuche, ein Bild auf den Server hochzuladen. Im Moment bekomme ich eine Fehlerantwort, die überprüft, ob name = 'image' ist und der Fehler bedeutet, dass es nicht ist. Die Linie, wo ich es gesetzt, ist dies:Image kann nicht auf den Server swift hochgeladen werden
body.appendString("Content-Disposition: form-data; name='image'; filename='test.jpg'")
mein vollständiger Code der Anfrage POST ist dies: Ich habe ein 200 bekommen und das einzige Problem ist mit dem Namen Parameter, die ich wirklich nicht herausfinden kann.
func imageUploadRequest()
{
let stringUrl = "http://88.162.41.55/app_backend/public/api/v1/image?_r=1836486547600309"
let URL = NSURL(string: stringUrl.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!)!
let request = NSMutableURLRequest(URL: URL)
request.HTTPMethod = "POST";
request.setValue("Bearer \(jwtToken)", forHTTPHeaderField: "Authorization")
let boundary = generateBoundaryString()
request.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")
let imageData = UIImageJPEGRepresentation(image, 1)
if(imageData == nil) {
print("image data is nil")
return
}
let body:NSMutableData = NSMutableData()
body.appendString("--\(boundary)\r\n")
body.appendString("Content-Disposition: form-data; name='image'; filename='test.jpg'")
body.appendString("Content-Type: image/jpg")
body.appendData(imageData!)
body.appendString("\r\n")
body.appendString("--\(boundary)--\r\n")
request.HTTPBody = body
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
data, response, error in
if error != nil {
print("error=\(error)")
return
}
let responseString = NSString(data: data!, encoding: NSUTF8StringEncoding)
print(" response = \(responseString!)")
do {
let json = try NSJSONSerialization.JSONObjectWithData(data!, options: .MutableContainers) as? NSDictionary
print("json", json)
} catch {
print("bad things happened")
}
}
task.resume()
}
Irgendwelche Ideen? Ich danke dir sehr!!
Verwenden NSURLSession erzielte den anderen Monat eine Lösung für ein ähnliches Problem. – user3069232
Danke, aber ist das nicht was ich benutze? – Nch
Ja; Es tut mir leid, Ihr Recht, Sie verwenden die richtige Syntax. Hier ein Beispiel eines ähnlichen Anrufs, den ich mache; mit ein paar wichtigen Unterschieden, vor allem in der Art, wie ich die Parameter kodiere. – user3069232