AFNetWork 图片上传

本文介绍如何利用Swift中的AFHTTPSessionManager组件以multipart/form-data格式上传图片,并解析返回的text/plain格式数据。文中详细展示了如何构造请求体,包括为每张图片生成唯一文件名并添加到请求中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    //请求 图片格式 multipart/form-data ,返回数据格式 text/plain

    class func lgyPushImage(urlString: String, parameters: [String:Any]?,array:Array<UIImage>,progress:UIProgressView?,responseBlock:((_ urlString:String?,_ isError:Bool)->Void)?)->Void{

        let manager = AFHTTPSessionManager()

        //设置相应数据支持的类型

        manager.responseSerializer = AFHTTPResponseSerializer() //支持回数据格式 text/plain

        manager.post(urlString, parameters: parameters, constructingBodyWith: { (formData) in

            var index = 0

            for item in array{

                let data = UIImagePNGRepresentation(item)

                if data != nil{

                    let dateForm = DateFormatter()

                    dateForm.dateFormat = "yyyyMMddHHmmss"

                    let namePaht = dateForm.string(from: Date.init())

                    let name = String.init(format: "%@%D.jpg", namePaht,index)

                    index += 1

                    formData.appendPart(withFileData:data!, name:"file", fileName: name, mimeType: "multipart/form-data")

                }

            }

        }, progress: { (pross) in

            

        }, success: { (dataTask, any) in

            let url = String.init(data: any as! Data, encoding: .utf8) //text/plain 格式返回数据是 Data 由于后台直接返回一条连接,这里得到的是一条连接

             responseBlock(url,false)

        }) { (dataTask, error) in

            print("error  ",error,dataTask)

            responseBlock?(error.localizedDescription, true)

       

        }

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值