【发布时间】:2017-04-22 15:39:58
【问题描述】:
我正在尝试上传带有其他参数的图像,当我的一个参数的数据类型为 [String] 时会出现问题。服务器端的数组将为空。:/ 使用其他数据类型一切正常。
self.manager.upload(
multipartFormData: { multipartFormData in
multipartFormData.append(imgData, withName: imgKey, fileName: "image.jpg", mimeType: "image/jpg")
for (key, value) in params {
multipartFormData.append(serialize(value)!, withName: key)
}
},
to: path,
encodingCompletion: { encodingResult in
switch encodingResult {
case .success(let upload, _, _):
upload.responseJSON { response in
debugPrint("SUCCESS RESPONSE: \(response)")
}
case .failure(let encodingError):
print("ERROR RESPONSE: \(encodingError)")
}
}
)
func serialize(_ value: Any) -> Data? {
if JSONSerialization.isValidJSONObject(value) {
return try? JSONSerialization.data(withJSONObject: value, options: [])
}
else {
return String(describing: value).data(using: .utf8)
}
}
我的参数是[String: Any]
我到底做错了什么? :(
问题肯定出在客户端。当我使用 Postman 或其他 HTTP 服务时,一切正常
【问题讨论】:
-
分享你的邮递员截图,让我看看