使用AFNetworking上传图片

本文介绍如何在iOS应用中实现图片上传功能,包括请求管理器的使用、封装请求参数及通过POST方式发送请求等步骤,并特别讲解了如何将图片转换为合适格式并上传。

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

 // 1.获得请求管理者

    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];

    

    // 2.封装请求参数

    NSMutableDictionary *params = [NSMutableDictionary dictionary];

    params[@"name"] = @"小明";

    params[@"status"] = @“你好”;

    

    // 3.发送POST请求

    [mgr POST:@"xxxxxx" parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {

        

        UIImage *image = [self.photosView.images firstObject];

        

        NSData *data = UIImageJPEGRepresentation(image, 1.0);

        

        // 拼接文件参数

        [formData appendPartWithFileData:data name:@"pic" fileName:@"status.jpg" mimeType:@"image/jpeg"];

        

    } success:^(AFHTTPRequestOperation *operation, NSDictionary *statusDict) {

        [MBProgressHUD showSuccess:@"发表成功"];

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

        [MBProgressHUD showError:@"发表失败"];

    }];


1.上传的图片文件不能放在params参数中
2.上传的图片一般使用 jpg 格式的,png格式的图片是无损压缩,图片一般比较大。
3.UIImageJPEGRepresentation(image, 1.0)  第二个参数,表示压缩的比例
4.  - ( void )appendPartWithFileData:( NSData *)data

                          name:(NSString *)name

                      fileName:(NSString *)fileName

                      mimeType:(NSString *)mimeType

data:表示上传的图片

name:表示服务器解析图片的字段

fileName:表示图片保存在服务器上的图片名称

mineType:图片的类型


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值