Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用Alamofire上传图片和其他字符串数据_Ios_Swift_Swift2_Alamofire - Fatal编程技术网

Ios 使用Alamofire上传图片和其他字符串数据

Ios 使用Alamofire上传图片和其他字符串数据,ios,swift,swift2,alamofire,Ios,Swift,Swift2,Alamofire,到目前为止,我一直使用下面的代码将个人资料图片数据上传到服务器 Alamofire.upload(.POST, URLString: "https://example.com/api/v1/users/profile_pic.json?auth_token=\(auth_token)", multipartFormData: { multipartFormData in multipartFormData.appendBodyPart(data: imageDat

到目前为止,我一直使用下面的代码将个人资料图片数据上传到服务器

Alamofire.upload(.POST,
    URLString: "https://example.com/api/v1/users/profile_pic.json?auth_token=\(auth_token)",
    multipartFormData: { multipartFormData in
        multipartFormData.appendBodyPart(data: imageData, name: "avatar", fileName: "avatar_img.png", mimeType: "image/png")
    },
    encodingCompletion: { encodingResult in

        switch encodingResult {
            case .Success (let upload, _, _):
                upload.responseJSON { request, response, data, error in

                // Do whatever 

                } 
            case .Failure (let encodingError):
        }

    })

但是现在我还需要将我用户的其他详细信息上传到服务器上,比如名字和姓氏。我应该如何在一个请求中与图片数据一起执行此操作?

这就是您可以执行此操作的方式

    Alamofire.upload(.POST, path, headers: self.predefinedHeaders, multipartFormData: { multipartFormData in

                    multipartFormData.appendBodyPart(data: imageData, name: "avatar", fileName: "avatar_img.png", mimeType: "image/png")

                    for (key, value) in parameters
                    {
                            multipartFormData.appendBodyPart(data: value.dataUsingEncoding(NSUTF8StringEncoding)!, name: key)
                    }

                    }, encodingCompletion:{ encodingResult in
                     //your handling
                    })

这就是你能做到的

    Alamofire.upload(.POST, path, headers: self.predefinedHeaders, multipartFormData: { multipartFormData in

                    multipartFormData.appendBodyPart(data: imageData, name: "avatar", fileName: "avatar_img.png", mimeType: "image/png")

                    for (key, value) in parameters
                    {
                            multipartFormData.appendBodyPart(data: value.dataUsingEncoding(NSUTF8StringEncoding)!, name: key)
                    }

                    }, encodingCompletion:{ encodingResult in
                     //your handling
                    })