带有参数和标题的 Alamofire Multipart-form 图像上传 - Swift
Posted
技术标签:
【中文标题】带有参数和标题的 Alamofire Multipart-form 图像上传 - Swift【英文标题】:Alamofire Multipart-form Image Upload with Parameters and Headers - Swift 【发布时间】:2018-01-31 23:29:25 【问题描述】:我们需要使用 POST 方法、参数和令牌将图像上传到 API。
这是我们的代码:
func myImageUploadRequest()
var boole : String!
if(card)
boole = "1"
else
boole = "0"
let headers: HTTPHeaders = ["Authorization": "Token \(token!)"]
print(headers.debugDescription)
let param = [
"comment":comment,
"category":String(category),
"amount":String(money),
"payment_card":boole
]
Alamofire.upload(method:.post,"https://llegoelbigotes.ubiqme.es/api/new-ticket/",headers:headers, multipartFormData:
multipartFormData in
if let imageData = UIImageJPEGRepresentation(image,0.6)
multipartFormData.appendBodyPart(data:imageData,name:"image",fileName:"file.png",mimeType: "image/png")
for(key,value) in param
multipartFormData.appendBodyPart(data:value.dataUsingEncoding(NSUTF8StringEncoding)!,name:key)
, encdingCompletion:
encodingResult in
switch encodingResult
case .Success(let upload, _, _):
print("Success")
upload.responseJSON response in
print(response.request)
print(response.response)
print(response.data)
print(response.result)
if let JSON = response.result.value
print("JSON: \(JSON)")
case .Failure(let encodingError):
print(encodingError)
)
这段代码给我们一个错误:
对成员'upload(_:to:method:headers:)'的模糊引用
知道出了什么问题吗?
【问题讨论】:
【参考方案1】:认为你把参数的顺序弄错了。
Alamofire.upload(multipartFormData: multipartFormData in
// multipartFormData here
,
to: url,
method: .post,
headers: headers) encodingResult in
// results here
【讨论】:
以上是关于带有参数和标题的 Alamofire Multipart-form 图像上传 - Swift的主要内容,如果未能解决你的问题,请参考以下文章
使用 swift 在 Alamofire 中发送带有对象数组的 JSON 作为参数