AFNETWORKING上传单图片/多图片

本文介绍如何使用AFNetworking库通过POST请求上传图片到服务器的方法。具体实现包括构造multipart/form-data格式的数据体、设置上传进度回调及成功失败回调。

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

NSDictionary *dic = @{@"key":@"value"}; //如只传图片 此处可以省略  下面方法的parameters可以为nil

    NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST" URLString:@"url" parameters:dic constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {

        for (int i = 0;i<photoArr.count;i++){ //photoArr是存储相册里面的图片 类型为image

            UIImageView *img = [UIImageView new];

            img.image = photoArr[i];

            NSData *data = UIImagePNGRepresentation(img.image);

            NSString *filename = [NSString stringWithFormat:@"img%d.png",i];

            [formData appendPartWithFileData:data name:@"image" fileName:filename mimeType:@"image/png"];   //此处注意name是POST方法的KEY,是服务器提供的参数名

        }

    } error:nil];


    AFHTTPRequestOperation *req = [[AFHTTPRequestOperation alloc] initWithRequest:request];

    [req setUploadProgressBlock:^(NSUInteger bytesWritten, NSInteger totalBytesWritten, NSInteger totalBytesExpectedToWrite) {

        NSLog(@"%d-------%d-------%d",bytesWritten,totalBytesWritten,totalBytesExpectedToWrite);

    }];

    [req setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {

        NSString *str = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding]; //此处要用UTF8解码

        NSLog(@"%@",str);

    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {

        

    }];

    [req start];


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值