zoukankan      html  css  js  c++  java
  • AFNet3.0上传图片

    很多iOS应用都会遇到需要上传图片的情况,比如修改个人资料时需要上传自己的头像,最近我也遇到了这种情况,首先参考之前写过的AFNetWorking3.0处理请求头和请求内容

    我们在上述博客的基础之上进行修改,假设我们正在修改个人资料,里面需要修改个人头像和其他资料,用请求头进行用户识别,请求内容包括其他的个人资料。

    首先是请求的URL,

    NSString *url = @"your url";

    接下来定义AFHTTPSessionManager,

    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

    设置相关的请求头,通过requestSerializer来实现,可以根据自己的需求定义一个或者多个请求头,

    [manager.requestSerializer @"value1" forHTTPHeaderField:@"key1"];
    [manager.requestSerializer @"value2" forHTTPHeaderField:@"key2"];
    ......

    实现带请求内容的POST方法,这里一些文本性质的个人资料可以直接在parameters中进行设置,但是图片需要另外处理,先将UIImage对象转化成NSData对象,

    NSData *imgData = UIImagePNGRepresentation(UIImage对象);

    最后将图片作为请求的内容进行上传,

    [manager POST:url
           parameters:@{
                        @"key1":@"value1",
                        @"key2":@"value2"
                        ......
                        }
    constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
        [formData appendPartWithFileData:imgData name:@"key3" fileName:@"avatar.png" mimeType:@"image/png"];
    }
            progress:nil
             success:^(NSURLSessionTask *task, id responseObject) {
                 NSLog("response:%@", responseObject);
                 }
             }
             failure:^(NSURLSessionTask *task, NSError *error) {
                 NSLog(@"error:%@", error);
             }];

    通过以上过程就实现了利用AFNetWorking 3.0上传图片的过程,上传其他文件类型同理。

  • 相关阅读:
    你了解JWT吗?
    链接
    C#读取EXCEL发生错误
    TM1637驱动数码管
    Keil中的Code,RO,RW,ZI分别表示什么
    IE 不支持 promise 解决方法
    JS 时间戳转日期格式
    JS input 输入框只能输入 字母和汉字
    小程序 保存图片失败
    小程序充值,方法步骤
  • 原文地址:https://www.cnblogs.com/xiaoxiaoyublogs/p/5855826.html
Copyright © 2011-2022 走看看