首页 > 解决方案 > 除非第一个请求来自邮递员,否则无法将图像上传到服务器

问题描述

我编写了以下代码来使用 Alamofire 上传个人资料图片。现在的问题是,当我上传图片时,API 成功执行但图片没有上传。但是,如果我从 Postman 上传图像后做同样的事情,那么相同的代码就会开始工作。为什么?我的代码中是否有任何问题。请让我知道我哪里出错了。

let parameters = [
        "contact_no": user.mobile,
        "first_name": user.firstName,
        "last_name": user.lastName,
        "email_id": user.email,
        "gender_id": user.gender,
        "device_id": deviceId,
        "state_id": user.stateID,
        "city_id": user.cityID,
    ]
    let credentialData = "\(constants.username):\(constants.password)".data(using: String.Encoding(rawValue: String.Encoding.utf8.rawValue))!

    let base64Credentials = credentialData.base64EncodedString()

    let headers = [
        "Authorization": "Basic \(base64Credentials)"
    ]
     let image = UIImagePNGRepresentation(self.profileImg.image!)

        Alamofire.upload(multipartFormData:{ (multipartFormData) in
                       multipartFormData.append(image!, withName: "profile_image", fileName: "test.png", mimeType: "image/png")
            for (key, value) in parameters {
                    multipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key)
            }
            },usingThreshold:UInt64.init(),
                         to:url,
                         method:.post,
                         headers:headers,
                         encodingCompletion: { encodingResult in
                            vwWait.performSelector(onMainThread: #selector(UIView.removeFromSuperview), with: nil, waitUntilDone: false)
                            switch encodingResult {
                            case .success(let upload, _, _):
                                upload.responseJSON { response in
                                    debugPrint(response)

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

    })

标签: iosswift3alamofire

解决方案


推荐阅读