分享

swift利用Alamofire上传图片

 昵称v8JFa 2016-09-20

后台的接口数据如下:

接口名称 上传头像
接口地址 /data/upload
传入参数 MultipartFile file, String phoneId, Integer phoneType
传出结果 //0 ok, 1 空文件, 2 文件写失败


分析: 接口需要传三个参数,file为图片的二进制文件,String类型的phoneId,Integer类型的phoneType


Alamofire上传图片,用于传递参数的类是multipartFormData,利用multipartFormData.appendBodyPart添加参数即可,内部会自动出来参数


private func upload(uploadImage: UIImage,address: String,scale: Double) {


        Alamofire.upload(.POST, address, multipartFormData: { (multipartFormData) in

            

                let data = UIImageJPEGRepresentation(uploadImage, scale)

                let imageName = String(NSDate()) + ".png"


            //multipartFormData.appendBodyPart(data: ,name: ,fileName: ,mimeType: )这里把图片转为二进制,作为第一个参数

            multipartFormData.appendBodyPart(data: data!, name: "file", fileName: imageName, mimeType: "image/png")

            

            //把剩下的两个参数作为字典,利用 multipartFormData.appendBodyPart(data: name: )添加参数,

            //因为这个方法的第一个参数接收的是NSData类型,所以要利用 NSUTF8StringEncoding 把字符串转为NSData 

            let param = ["phoneId" : HCUserModel.sharedInstance.phoneId!, "phoneType" : "1"]


           //遍历字典

           for (key, value) in param {

           multipartFormData.appendBodyPart(data: value.dataUsingEncoding(NSUTF8StringEncoding)!, name: key)

            }

            

        }) { (encodingResult) in

            switch encodingResult {

            case .Success(let upload, _, _):

                upload.responseJSON(completionHandler: { (response) in

                    if let myJson = response.result.value {

                        

                        if myJson as! NSObject == 0 {

                         print("上传成功")                            

                        }else {

                            print("上传失败")

                        }

                    }

                })

            case .Failure(let error):

                print(error)

            }

        }

    }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多