简体   繁体   English

如何在 swift 5 中使用 Alamofire multipartFormData 发送数据和图像

[英]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.

相关问题 在 iOS Swift 中使用 Alamofire 使用 MultipartFormData 发送 POST 参数 - Send POST parameters with MultipartFormData using Alamofire, in iOS Swift Swift 5 - 使用 Alamofire 和图库中的图像上传 MultipartFormData - Swift 5 - Upload MultipartFormData Using Alamofire with Image from Gallery Alamofire multipartFormData上传不发送数据 - Alamofire multipartFormData upload doesn't send data 在ios swift中使用alamofire 5上传带有multipartformdata参数的文件 - Upload files with parameters from multipartformdata using alamofire 5 in ios swift 使用 Alamofire Swift 使用 MultipartFormData 在 post 参数中出错 - Getting Error in post parameters with MultipartFormData using Alamofire Swift 在Alamofire 4中使用SwiftyJson为MultipartFormData请求创建JSON数据 - Creating JSON data using SwiftyJson for MultipartFormData request in Alamofire 4 如何使用Alamofire和Mailgun使用Swift发送电子邮件? - How to send email using Alamofire and Mailgun with Swift? 使用 multipartFormData 请求 Swift 保存 Alamofire 上传 - Save Alamofire upload with multipartFormData request Swift 在 iOS Swift 中使用 MultipartFormData 发送 POST 参数而不使用 alamofire 和会话 url 请求 - Send POST parameters with MultipartFormData in iOS Swift without alamofire and with the session url request Swift Alamofire multipartFormData.appendBodyPart Bool? - Swift Alamofire multipartFormData.appendBodyPart Bool?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM