我需要从发布请求中提取json响应,使用Alamofire将图像上传到服务器,并通过以下代码将图像上传为多部分数据
Alamofire.upload(
.POST,
"http://www.mywebsite.com/api/index.php/profileimg",
headers: ["Authorization" : "No Auth"],
multipartFormData: { multipartFormData in
multipartFormData.appendBodyPart(data: jpegImage1, name: "image1", fileName: "img1", mimeType: "image/jpeg")
},
encodingCompletion: { encodingResult in
switch encodingResult {
case .Success(let upload, _, _):
upload.progress { bytesWritten, totalBytesWritten, totalBytesExpectedToWrite in
dispatch_async(dispatch_get_main_queue()) {
}
}
upload.validate()
upload.responseJSON { response in
print(response.1)
print(response.2)
print(response)
}
case .Failure(let encodingError):
print(encodingError)
}
}
)
当我打印回复时,我正在
(<NSHTTPURLResponse: 0x165dc0e0> { URL: http://www.mywebsite.com/api/index.php/profileimg } { status code: 200, headers {
Connection = close;
"Content-Encoding" = gzip;
"Content-Type" = "text/html";
"Transfer-Encoding" = Identity;
Vary = "Accept-Encoding";
} }), SUCCESS: {
Path1 = "http://www.mywebsite.com/api/tmpimage/img1";
Path2 = "http://www.website.com/api/tmpimage/img2";
Result = success;
})
如何从响应中将Path1和Path2值提取为String?
答案 0 :(得分:0)
找到解决方案,通过
从响应中获取path1和path2 upload.responseJSON { response in
print(response.1)
print(response.2)
print(response)
let dic1 = (response.2.value as? NSDictionary)?.objectForKey("Path1") as! String
print(dic1)
let dic2 = (response.2.value as? NSDictionary)?.objectForKey("Path1") as! String
print(dic2)
}
因此可以从响应中提取path1和path2。