除非邮递员发出第一个请求,否则将图像上载到服务器不起作用

时间:2018-12-12 05:18:10

标签: ios swift3 alamofire

我编写了以下代码,使用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)
                            }

    })

0 个答案:

没有答案