【发布时间】:2020-03-18 13:24:42
【问题描述】:
您好,我正在尝试发布参数和/或图像。 我的参数是带有字符串、日期、整数、值的 [String : Any]。 当我只发布一个参数时,我使用 URLEncoding.default 编码。但是,当我需要同时发布参数和图像时,我使用 multipartFormData。 我的代码在下面
if url == ""{
AF.upload(multipartFormData: { multipartFormData in
for (key,value) in parameters {
multipartFormData.append((value as! String).data(using: .utf8)!, withName: key)
}
let jpegData = art!.jpegData(compressionQuality: 1.0)
multipartFormData.append(Data((jpegData)!), withName: "photo")
}, to: "\(NetworkManager.rootURL)/api/add/")
.responseJSON { response in
debugPrint(response)
}
}else{
AF.request("\(NetworkManager.rootURL)/api/add/", method: .post, parameters: parameters, encoding: URLEncoding.default, headers: nil).response { (reponse) in
let status = reponse.response!.statusCode
if status == 200{
completion(200)
}else{
completion(401)
}
}
}
我的问题是,因为我的参数是带有字符串日期 int 值的任何参数,所以我得到一个
Could not cast value of type 'Swift.Int' (0x1c3f1f1e8) to 'Swift.String' (0x1c3f21390). 有什么解决方法吗?还是我必须将所有内容都更改为字符串...
感谢任何帮助
【问题讨论】: