[英]How to send data along with an image using Alamofire multipartFormData in swift 5
I'm trying to update the details of a profile using Alamofire multipartFormData.我正在尝试使用 Alamofire multipartFormData 更新配置文件的详细信息。 Below is the Postman screenshot of how the request should be.
下面是请求应该如何的 Postman 屏幕截图。
Below is what I'm trying to do using multipartFormData in Alamofire.下面是我在 Alamofire 中使用 multipartFormData 尝试做的事情。
func Post(imageOrVideo : UIImage?){
let headers: HTTPHeaders = [
"Content-type": "multipart/form-data"
]
AF.upload(
multipartFormData: { multipartFormData in
multipartFormData.append(imageOrVideo!.jpegData(compressionQuality: 0.5)!, withName: "upload_data" , fileName: "landing.jpeg", mimeType: "image/jpeg")
multipartFormData.append(data: Data, withName: self.Pharmacy_name.text!)
},
to: "url", method: .post , headers: headers)
.response { resp in
print("response is:" , resp)
}
In order for the API call to return "true", all of the above data should be there in the request.为了使 API 调用返回“true”,请求中应包含上述所有数据。 I just don't get how to append the textfield values to multipartFormData.append.
我只是不知道如何将文本字段值附加到 multipartFormData.append。
I'm new to iOS development therefore, please bear with me.因此,我是 iOS 开发的新手,请耐心等待。 Any help I could get is much appreciated!
非常感谢我能得到的任何帮助!
Got it fixed!搞定了! Below is the code.
下面是代码。
func Post(imageOrVideo : UIImage?){
let headers: HTTPHeaders = [
/* "Authorization": "your_access_token", in case you need authorization header */
"Content-Type": "multipart/form-data"
]
AF.upload(
multipartFormData: { multipartFormData in
multipartFormData.append(imageOrVideo!.jpegData(compressionQuality: 0.5)!, withName: "upload_data" , fileName: "landing.jpeg", mimeType: "image/jpeg")
multipartFormData.append(self.Pharmacy_name.text!.data(using: .utf8, allowLossyConversion: false)!, withName: "name")
multipartFormData.append(self.Address_line1.text!.data(using: .utf8, allowLossyConversion: false)!, withName: "address_line_1")
multipartFormData.append(self.Address_line2.text!.data(using: .utf8, allowLossyConversion: false)!, withName: "address_line_2")
multipartFormData.append(self.Start_time.text!.data(using: .utf8, allowLossyConversion: false)!, withName: "open_at")
multipartFormData.append(self.close_time.text!.data(using: .utf8, allowLossyConversion: false)!, withName: "close_at")
multipartFormData.append(self.contact_number.text!.data(using: .utf8, allowLossyConversion: false)!, withName: "phone_no")
multipartFormData.append("0.00".data(using: .utf8, allowLossyConversion: false)!, withName: "longitude")
multipartFormData.append("0.00".data(using: .utf8, allowLossyConversion: false)!, withName: "latitude")
multipartFormData.append("1".data(using: .utf8, allowLossyConversion: false)!, withName: "id")
multipartFormData.append(self.token.data(using: .utf8, allowLossyConversion: false)!, withName: "api_token")
},
to: "url", method: .post , headers: headers)
.response { resp in
print("response is:" , resp)
}
Hope this helps someone.希望这可以帮助某人。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.