• iOS 提交form表单,上传图片


    之前不会用,总感觉很难,用后感觉不是太难,本文只是简单的讲一下怎么使用的,

    //实例话对象
     AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
        manager.requestSerializer.timeoutInterval = 20;
        manager.responseSerializer = [[AFHTTPResponseSerializer alloc] init];
        manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/html", nil];
        
        //在请求头里 添加自己需要的参数
        NSString *token = [[YXLoginStatusTool sharedLoginStatus] getTokenId];
        [manager.requestSerializer setValue:token forHTTPHeaderField:@"id"];
    
    //请求地址    
        NSString *URLSTR = @"";
        
        [manager POST:URLSTR parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {

          //转成data

          self.justimagedata = UIImagePNGRepresentation(pickerImagePic);

    //按照表单格式把二进制文件写入formData表单
            [formData appendPartWithFileData:self.justimagedata name:@"" fileName:@"" mimeType:@"image/png"];
        
            [formData appendPartWithFileData:self.backimagedata name:@"" fileName:@"" mimeType:@"image/png"];
            
            
        } progress:^(NSProgress * _Nonnull uploadProgress) {
            
            YXLog(@"++++%@+++",uploadProgress);
            
        }  success:^(NSURLSessionDataTask *task, id responseObject) {
        
              YXLog(@"responseObject == %@--++--%@----", [self getResponseObjcWithTask:responseObject],[self getRespodHeaderWithTask:task]);
            
            if ([[self getRespodHeaderWithTask:task][@"Status"] isEqualToString:@"1"]) {
               
                //成功
            }else{
                
                [YXAlearMnager ShowAlearViewWith:[self getRespodHeaderWithTask:responseObject][@"errorMsg"] Type:2];
            }
            [YXNetworkHUD dismiss];
            
        } failure:^(NSURLSessionDataTask *task, NSError *error) {
            
            [YXNetworkHUD dismiss];
            
             YXLog(@"发送失败+++++%@++++%@",error,[self getRespodHeaderWithTask:task]);
            
            [YXAlearMnager ShowAlearViewWith:@"头像更换失败" Type:2];
        }];
    //** 获取响应头 */
    - (id)getRespodHeaderWithTask:(NSURLSessionTask *)task
    {
        NSHTTPURLResponse *respond = (NSHTTPURLResponse *)task.response;
        return respond.allHeaderFields;
    }
    -(id)getResponseObjcWithTask:(id )responseObect{
        id json;
        NSError *error;
        json = [NSJSONSerialization JSONObjectWithData:responseObect options:0 error:&error];
        if (error) {
            json = [[NSString alloc] initWithData:responseObect encoding:NSUTF8StringEncoding];
        }
        return json;
    }
  • 相关阅读:
    HDU 5835 Danganronpa(弹丸论破)
    HDU 5813 Elegant Construction(优雅建造)
    HDU 5831 Rikka with Parenthesis II(六花与括号II)
    HDU 5810 Balls and Boxes(盒子与球)
    HDU 5818 Joint Stacks(联合栈)
    Dream Team(最小生成树)
    带权并查集
    HDU 1495 非常可乐(BFS)
    I Hate It(线段树+更新)
    Just a Hook(线段树+区间更新)
  • 原文地址:https://www.cnblogs.com/liuwenqiang/p/6426277.html
Copyright © 2020-2023  润新知