使用AFNetworking上传图片

发布于 2022-09-02 09:54:27 字数 39 浏览 20 评论 0

如何使用AFNetworking上传单张或多张图片到后台服务器?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

眼眸 2022-09-09 09:54:27
    //1.创建一个名为mgr的请求管理者
    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
    
    //2.上传文字时用到的拼接请求参数(如果只传图片,可不要此段)
    NSMutableDictionary *params = [NSMutableDictionary dictionary];//创建一个名为params的可变字典
    params[@"status"] = self.textView.text;//通过服务器给定的Key上传数据
    
    //3.发送请求
    [mgr POST:@"https://upload.api.weibo.com/2/statuses/upload.json" parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
        //单张图片
        UIImage *image = self.photo;//获得一张Image
        NSData *data = UIImageJPEGRepresentation(image, 1.0);//将UIImage转为NSData,1.0表示不压缩图片质量。
        [formData appendPartWithFileData:data name:@"pic" fileName:@"test.jpg" mimeType:@"image/jpeg"];
        
        /*
        Data: 要上传的二进制数据
        name:保存在服务器上时用的Key值
        fileName:保存在服务器上时用的文件名,注意要加 .jpg或者.png
        mimeType:让服务器知道我上传的是哪种类型的文件
        */
        
        //多张图片
        NSArray *images = self.photos;//获得一组Image
          for(NSInteger i = 0; i < self.images.count; i++)
        {
            // 取出图片
            UIImage *image = [images objectAtIndex:i];
            // 转成二进制
            NSData *imageData = UIImageJPEGRepresentation(image, 1.0);
            // 上传的参数名
            NSString * Name = [NSString stringWithFormat:@"image %ld", i];
            // 上传fileName
            NSString * fileName = [NSString stringWithFormat:@"%@.jpg", Name];
            
            [formData appendPartWithFileData:imageData name:Name fileName:fileName mimeType:@"image/jpeg"];
        }
        
        
        
    } success:^(AFHTTPRequestOperation *operation, id responseObject) {//发送成功会来到这里
        NSLog(@"获取用户名称请求成功(图片)");
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {//发送成功会来到这里
        NSLog(@"获取用户名称请求失败(图片)——%@",error);
 
    }];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文