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

来源:互联网 发布:apache ant linux 编辑:程序博客网 时间:2024/05/18 05:54

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)                }        }




0 0