Alamofire上传图片解决绑定参数问题

℡╲_俬逩灬. 提交于 2019-12-07 10:07:56

Alamofire上传图片解决绑定参数问题

        今天记录下载使用Alamofire上传图片时遇到的一个问题,在很多APP里面都有这样的需求,就是上传用户的头像,头像当然是和用户的ID是一一对应的关系,所有在上传图片的时候需要向服务器上传用户的ID或者其他的参数。但是在Alamofire上传文件的API中并没有参数的设置,下面就来解决这个问题。

首先利用cocoaPods导入框架:

use_frameworks!
target 'YourTargetsName' do
  pod 'Alamofire'
end

Alamofire.upload(.POST, url, multipartFormData: { (multipartFormData) in
            
            
            for image in imageArrays {
                let data = UIImageJPEGRepresentation(image as! UIImage, 0.5)
                let imageName = String(NSDate()) + ".png"
                multipartFormData.appendBodyPart(data: data!, name: "name", fileName: imageName, mimeType: "image/png")
            }
            
            // 这里就是绑定参数的地方 param 是需要上传的参数,我这里是封装了一个方法从外面传过来的参数,你可以根据自己的需求用NSDictionary封装一个param
            for (key, value) in param {
                assert(value is String, "参数必须能够转换为NSData的类型,比如String")
                multipartFormData.appendBodyPart(data: value.dataUsingEncoding(NSUTF8StringEncoding)!, name: key )
            }
            
            }) { (encodingResult) in
                switch encodingResult {
                case .Success(let upload, _, _):
                    upload.responseJSON(completionHandler: { (response) in
                        completeBlock(responseObject: response.result.value!, error: nil)
                    })
                case .Failure(let error):
                    completeBlock(responseObject: nil, error: error)
                }
        }




易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!