Alamofire 向 API 'NSInvalidArgumentException' 发送请求

Alamofire sending a request to an API 'NSInvalidArgumentException'

我正在使用此代码将图像和文本发送到 api:

    func uploadImageAndData(_ url:String,parameters1:Parameters,headers1:HTTPHeaders,images:[UIImage]){
        Alamofire.upload(multipartFormData: { multipartFormData in
            // import image to request
            var i=0
            for imageData in images {
//                multipartFormData.append(self.resizeImage(image: uploadedProfileImage, targetSize: CGSize(width: 200, height: 200)
                multipartFormData.append(imageData.pngData()!, withName: "profilePic", fileName: "profileimage"+".jpeg", mimeType: "image/jpeg")
                i += 1
            }
            for (key, value) in parameters1 {
                multipartFormData.append((value as AnyObject).data(using: String.Encoding.utf8.rawValue)!, withName: key)
            }
        } ,to: url,method:.post,
           headers:[:],

           encodingCompletion: { encodingResult in
            switch encodingResult {
            case .success(let upload, _, _):
                upload.uploadProgress(closure: { (Progress) in
                    print("showuing upload progress")
                    print("Upload Progress: \(Progress.fractionCompleted)")
                    //SwiftSpinner.show(progress: Progress.fractionCompleted*100, title: "تحميل")
                })
                upload.responseJSON { response in

                    print(response.response?.statusCode as Any)

                    if let data = response.result.value, let utf8Text = String(data: data as! Data, encoding: .utf8) {
                        print("New Func Data: \(utf8Text)")
                    }
                    switch response.response?.statusCode {
                    case 201 :
                        print("Success")
                        break
                    case 413 :
                        print("Post too large")
                        break
                    case 200 :
                        print("200")
                        break
                    case 400 :
                        print("400")
                        break
                    case 401 :
                        print("401")
                        break
                    case 302 :
                        print("302")
                        break
                    case 500 :
                        print("500")
                        break
                    default: break
                    }
                }
                return
            case .failure(let encodingError): break

            }
        })
    }

我得到了这些数据:

let address: Parameters = [
          "location" : addressField.text!,
          "locationLat" :pickedLocationLat,
          "locationLong" :pickedLocationLong
     ]                           

  let body: Parameters = [
          "name": "Sample Name",
          "email": "test@test.com",
          "password": "test123",
         "address": address
    ]

我正在使用此代码访问该功能

var head = [String:Any]()
head["Accept"]="application/json"


uploadImageAndData(BASE_URL", parameters1: body, headers1: head as! HTTPHeaders, images: [uploadedProfileImage])

此代码抛出类似

的错误
Terminating app due to uncaught exception 'NSInvalidArgumentException'
reason: '-[_TtGCs26_SwiftDeferredNSDictionarySSP__$ dataUsingEncoding:]: unrecognized selector sent to instance 0x6000015bed00'
terminating with uncaught exception of type NSException

我不知道是什么导致了这个问题 api 需要一个 json 的正文 content-typeapplication/json 我厌倦了删除除名称之外的 body 参数的所有内容以尝试仅发送名称,当我这样做时图像上传成功但它仍然给我这个错误,所以请帮我解决这个问题。

您需要将值设为字符串而不是双精度值

let address: Parameters = [
      "location" : addressField.text!,
      "locationLat" :"\(pickedLocationLat)",
      "locationLong" :"\(pickedLocationLong)"
]