iOS AFN form-data表单 请求

2023-04-12  本文已影响0人  小锤子_
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
 
//1、设置接收数据类型
    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/plain", @"multipart/form-data" , @"application/json", @"text/html", @"image/jpeg", @"image/png", @"application/octet-stream", @"text/json", nil];    

//2.设置form-data表单提交格式

    [manager.requestSerializer setValue:@"multipart/form-data" forHTTPHeaderField:@"Content-Type"];
 //3.header添加基本信息--根据自己的app需要设置
 
    [manager.requestSerializer setValue:@"iOS" forHTTPHeaderField:@"Device"];


//发起请求
    [manager POST:urlMessage parameters:parameters headers:nil constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {

        for (NSString *key in parameters.allKeys) {
               // 循环拿到所有参数进行拼接
            NSString * searchStr = [parameters[key] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
               [formData appendPartWithFormData:[searchStr dataUsingEncoding:NSUTF8StringEncoding] name:key];
           
    //如果有图片或者其他类型的数据,使用下面的函数:
    // [formData appendPartWithFileURL:@"url" name:@"参数名称" fileName:@"文件名称" mimeType:@"文件类型" error:nil];
            
    //     [formData appendPartWithFileData:data name:@"参数名称" fileName:@"文件名称" mimeType:@"文件类型"];
          
           }

    } progress:^(NSProgress * _Nonnull uploadProgress) {

    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
      
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
      
    }];


    
上一篇 下一篇

猜你喜欢

热点阅读