roc*_*oon 5 multipartform-data ios alamofire
我正在尝试发送带有参数的照片,但要注意的是我想将JSON数组发送到服务器。看来Alamofire没有发送列表的方法Data,那么还有什么替代方法呢?
问题的关键部分是:
var encodedTags: [Data] = tags.map({ return $0.data(using: .utf8)!})
mpd.append(encodedTags, withName: key)
Run Code Online (Sandbox Code Playgroud)
在此上传调用中:
let parameters: [String: Any] = ["username": "TheCooliest", ..., "tags": ["KoolKid", "TheKooliest", "BetterThanKimK"]
...
upload(multipartFormData: { (mpd) in
mpd.append(url, withName: "file", fileName: "weeknd.jpg")
for (key, value) in parameters {
if let tags = value as? [String], key == "tags" {
var encodedTags = tags.map({ return $0.data(using: .utf8)!})
mpd.append(encodedTags, withName: key)
}
}
}
Run Code Online (Sandbox Code Playgroud)
我遇到了同样的情况,您必须将数组转换为字符串,然后编码并上传。就我而言,我必须加密数组并发送到服务器,然后服务器解密数组。
var encodedTags = tags.map({ return $0})
//write logic to convert array to string
mpd.append(encodedTags.data(using: .utf8)!, withName: key)
Run Code Online (Sandbox Code Playgroud)