gpt4 book ai didi

swift - Alamofire,在参数中上传带有结构的MultipartFormData

转载 作者:行者123 更新时间:2023-11-28 06:24:52 25 4
gpt4 key购买 nike

上传MultipartFormData时如何在参数中添加struct:

let parameters = [
"parameter1": "test1",
"parameter2": "test2"]

Alamofire.upload(multipartFormData: { multipartFormData in
for (key, value) in parameters {
multipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key)
}
multipartFormData.append(structObject, withName: "user")

if let imageData = UIImageJPEGRepresentation(image, 1) {
multipartFormData.appendBodyPart(data: imageData, name: "file", fileName: "file.png", mimeType: "image/png")
}
}, to: url, encodingCompletion: { encodingResult in
switch encodingResult {
case .success(let upload, _, _):
upload.responseJSON { response in
if let value = response.result.value as AnyObject?{
let json = JSON(value)
} else {

}
}
case .failure(let encodingError):
print(encodingError)

}
}
)

我可以毫无问题地添加额外参数,但我无法将对象添加到参数数组

谢谢

最佳答案

在 multipartFormData 下面添加以下内容以在参数映射之间循环并附加参数键和值:

let parameters = [
"parameter1": "test1",
"parameter2": "test2"]

Alamofire.upload(multipartFormData: { multipartFormData in
multipartFormData.append(structObject, withName: "user")

if let imageData = UIImageJPEGRepresentation(image, 1) {
multipartFormData.appendBodyPart(data: imageData, name: "file", fileName: "file.png", mimeType: "image/png")
for (key, value) in parameters {
multipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key)
}
}
}, to: url, encodingCompletion: { encodingResult in
switch encodingResult {
case .success(let upload, _, _):
upload.responseJSON { response in
if let value = response.result.value as AnyObject?{
let json = JSON(value)
} else {

}
}
case .failure(let encodingError):
print(encodingError)

}
}
)

关于swift - Alamofire,在参数中上传带有结构的MultipartFormData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42260207/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com