将图片打包成文件上传服务器 POST请求 AFNetWorking网络请求

 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

    manager.responseSerializer = [AFJSONResponseSerializer serializer];

//网络请求超时

    if (manager.requestSerializer.timeoutInterval == 10) {

        NSLog(@"请求超时");

    }

//数据格式

    [manager.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript", @"text/html", @"text/css", @"text/plain", nil]];

    //将图片转化为NSDate类型;

    UIImage *image = [UIImage imageNamed:@"baby_icon_cam"];

    NSData *imageData = UIImagePNGRepresentation(image);

    NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];

    NSString *imagePath = [documentPath stringByAppendingString:@"/image.png"];

//保存文件到本地,document文件目录下面

    [imageData writeToFile:imagePath atomically:YES];

    

    //永久性存储

    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];

    [userDefaults setObject:imagePath forKey:@"avatar"];

    

    

    

    NSLog(@"imagePath = %@",imagePath);

//photo:后台要求传入参数

    NSMutableDictionary *parameters = [[NSMutableDictionary alloc]init];

    [parameters setObject:imagePath forKey:@"photo"];

//服务器接口

    NSString *url = @"http://192.168.1.250/demo/Home/Addcontents/uplo";

    //post请求,传输二进制文件的方法,AFNetWorking自带

    [manager POST:url parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData_Nonnull formData) {

        UIImage *image = [UIImage imageNamed:@"Classes"];

         NSData *data=UIImagePNGRepresentation(image);

        NSDateFormatter *formatter = [[NSDateFormatter alloc] init];


        // 设置时间格式,存储文件的名字,以时间来命名不会有重复命名出现

        formatter.dateFormat = @"yyyyMMddHHmmss";

        NSString *str = [formatter stringFromDate:[NSDate date]];

        NSString *fileName = [NSString stringWithFormat:@"%@.png", str];

//此处Photo,展示请求数据时字典的key值

        [formData appendPartWithFileData:data name:@"Photo" fileName:fileName mimeType:@"image.png"];

        

        

    } progress:^(NSProgress * _Nonnull uploadProgress) {

        

    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {

        NSLog(@"%@",responseObject);

    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

        NSLog(@"%@",error);

    }];

    

   

    

    

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值