用Alamofire上传图片,由多个参数,求方法

[复制链接]
258 3
swift3 Alamofire4.4 多参数,从相册里面选取图片,上传的方法怎么写,求大神。被憋了很久了。。。

举报 使用道具

回复

3 个评论

ldm25  新手上路  发表于 2019-3-11 17:40:45  | 显示全部楼层
swift3  Alamofire4.4 多参数,从相册里面选取图片,上传的方法怎么写,求大神。被憋了很久了。。。

举报 使用道具

回复
RaymondJoump  新手上路  发表于 2019-3-11 18:05:08  | 显示全部楼层
//图片上传
    class func requestUpload(url: String, params: [String: String], data: [Data], success: @escaping(_ response: [String: AnyObject])->(), fail:@escaping(_ error: Error) -> ()){
        
        let headers = ["content-type":"multipart/form-data"]
        
        Alamofire.upload(multipartFormData: { (multipartFormData) in
            //多张图片上传
//            let flag = params["flag"]
//            let userId = params["userId"]
//            
//            multipartFormData.append((flag?.data(using: String.Encoding.utf8))!, withName: "flag")
//            multipartFormData.append((userId?.data(using: String.Encoding.utf8))!, withName: "userId")
            
            for i in 0..<data.count{
                //设置图片的名字
                let formatter = DateFormatter()
                formatter.dateFormat = "yyyyMMddHHmmss"
                let string = formatter.string(from: Date())
                let filename = "(string).jpg"
                multipartFormData.append(data[i], withName: "img", fileName: filename, mimeType: "image/jpeg")
            }
        }, to: url, headers: headers, encodingCompletion:{ encodingResult in
            switch encodingResult{
            case .success(request: let upload,_,_):
                upload.responseJSON(completionHandler: { (response) in
                    if let value = response.result.value as? [String : AnyObject]{
                        success(value)
                    }
                })
            case .failure(let error):
                fail(error)
            }
        })
    }

举报 使用道具

回复
东闪少爷  新手上路  发表于 2019-3-11 19:33:00  | 显示全部楼层
引用 1楼目生鱼 的回复:
   //图片上传
    class func requestUpload(url: String, params: [String: String], data: [Data], success: @escaping(_ response: [String: AnyObject])->(), fail:@escaping(_ error: Error) -> ()){
        
        let headers = ["content-type":"multipart/form-data"]
        
        Alamofire.upload(multipartFormData: { (multipartFormData) in
            //多张图片上传
//            let flag = params["flag"]
//            let userId = params["userId"]
//            
//            multipartFormData.append((flag?.data(using: String.Encoding.utf8))!, withName: "flag")
//            multipartFormData.append((userId?.data(using: String.Encoding.utf8))!, withName: "userId")
            
            for i in 0..<data.count{
                //设置图片的名字
                let formatter = DateFormatter()
                formatter.dateFormat = "yyyyMMddHHmmss"
                let string = formatter.string(from: Date())
                let filename = "(string).jpg"
                multipartFormData.append(data, withName: "img", fileName: filename, mimeType: "image/jpeg")
            }
        }, to: url, headers: headers, encodingCompletion:{ encodingResult in
            switch encodingResult{
            case .success(request: let upload,_,_):
                upload.responseJSON(completionHandler: { (response) in
                    if let value = response.result.value as? [String : AnyObject]{
                        success(value)
                    }
                })
            case .failure(let error):
                fail(error)
            }
        })
    }
弄好了,我们后台直接传二进制字符串

举报 使用道具

回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

ios.irunthink.com
搜索
热搜: iOS swift 下拉刷新

图文热点

更多

开发教程

更多

客服中心

400-800 周一至周日 9:30-17:30 仅收市话费

关注我们

  • 微信扫描
  • 关注微信
关于我们
关于我们
友情链接
联系我们
帮助中心
精贴推荐
源码上传
注册登录
服务支持
资源下载
关注我们
官方微博
官方空间
快速回复 返回顶部 返回列表