打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
swift利用Alamofire上传图片

后台的接口数据如下:

接口名称 上传头像
接口地址 /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

                    iflet myJson = response.result.value {

                        

                        if myJsonas! NSObject ==0 {

                         print("上传成功")                            

                        }else {

                            print("上传失败")

                        }

                    }

                })

            case .Failure(let error):

                print(error)

            }

        }

    }

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
android 获取通讯录所有字段
Golang 微框架 Gin 简介
文件上传利器SWFUpload使用指南
开源项目Xstream简介
【mybatis】关联查询
Google Protocol Buffers 概述
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服