在使用Alamofire这个swift的第三方http请求长传时,一般都是上传一些基本的String等类型的数据,但是在大多数的app中往往需要上传一些例如图片等等的文件,同时需要获取它的success请求成功后的返回值,在这里来给大家介绍一种使用Alamofire上传图片文件的方法。废话不多说,直接上代码:
Alamofire.upload(.POST, URL, multipartFormData: { (FormData) in FormData.appendBodyPart(data: String(userInfo["id"] as! Int).dataUsingEncoding(NSUTF8StringEncoding)!, name: "userId") FormData.appendBodyPart(data: nsData, name: "file", fileName: "fileName", mimeType: "image/png") }, encodingCompletion: { (encodingResult) in switch encodingResult { case .Success(let upload, _, _): upload.responseJSON(completionHandler: { (response) in print("\(response)") //上传成功通过response返回json值 }) case .Failure(let error): print(error) } })在上述代码中使用post请求,将请求体放在FormData中,将所需要上传的数据和图片都放到FormData中在进行上传