Saturday, April 18, 2026
HomeiOS DevelopmentMulti half add is returning Standing code 502 Swift iOS

Multi half add is returning Standing code 502 Swift iOS

[ad_1]

I’m making an attempt to add picture utilizing URLSession with crucial params, it’s working in postman however not working in swift.

 func requestNativeImageUpload() {
        let testImage = UIImage(named: "sayHi")

        let url = URL(string: "https://www.api.com/knowledge/savePickerData")
        let boundary = generateBoundary()
        var request = URLRequest(url: url!)

        let parameters = ["pickerId": "100","walkerRfid": "10" ]

        guard let mediaImage = Media(withImage: testImage!, forKey: "picture") else { return }

        request.httpMethod = "POST"

        request.allHTTPHeaderFields = [
                    "X-User-Agent": "ios",
                    "Accept-Language": "en",
                    "Accept": "application/json",
                    "Content-Type": "multipart/form-data; boundary=(boundary)",
                ]

        
        let dataBody = createDataBody(withParameters: parameters, media: [mediaImage], boundary: boundary)
        request.httpBody = dataBody

        let session = URLSession.shared
        session.dataTask(with: request) { (knowledge, response, error) in
            if let response = response {
                print(response)
            }

            if let knowledge = knowledge {
                do {
                    let json = strive JSONSerialization.jsonObject(with: knowledge, choices: [])
                    print(json)
                } catch {
                    print(error)
                }
            }
            }.resume()
    }


    func generateBoundary() -> String {
        return "Boundary-(NSUUID().uuidString)"
    }

    func createDataBody(withParameters params: [String: String]?, media: [Media]?, boundary: String) -> Knowledge {

        let lineBreak = "rn"
        var physique = Knowledge()

        if let parameters = params {
            for (key, worth) in parameters {
                physique.append("--(boundary + lineBreak)")
                physique.append("Content material-Disposition: form-data; title="(key)"(lineBreak + lineBreak)")
                physique.append("(worth + lineBreak)")
            }
        }

        if let media = media {
            for picture in media {
                physique.append("--(boundary + lineBreak)")
                physique.append("Content material-Disposition: form-data; title="(picture.key)"; filename="(picture.fileName)"(lineBreak)")
                physique.append("Content material-Sort: (picture.mimeType + lineBreak + lineBreak)")
                physique.append(picture.knowledge)
                physique.append(lineBreak)
            }
        }

        physique.append("--(boundary)--(lineBreak)")

        return physique
    }




extension Knowledge {
    mutating func append(_ string: String) {
        if let knowledge = string.knowledge(utilizing: .utf8) {
            append(knowledge)
        }
    }
}


struct Media {
    let key: String
    let fileName: String
    let knowledge: Knowledge
    let mimeType: String

    init?(withImage picture: UIImage, forKey key: String) {
        self.key = key
        self.mimeType = "picture/jpg"
        self.fileName = "(arc4random()).jpeg"

        guard let knowledge = picture.jpegData(compressionQuality: 0.5) else { return nil }
        self.knowledge = knowledge
    }
}

in Postman

enter image description here

[ad_2]

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments