iOS提交图片,满足服务端的各种姿势

之前一直在用AFNetwork作为上传图片,但是这次遇到一个问题,怎么提交都提交不上去。后来看了下后台的代码,发现有些参数是从host_url截取下来的,有些参数是从post上提交的,于是自己写了一个上传Image的代码专门对应这种情况。直接上代码:

  //header

    NSString *key = @"xxxxxxxx";

    NSString*str =  [NSString stringWithFormat:@"%@?type=%@&keystr=%@",HOST_SERVER,UpdateLoginPersonelInfo,key];

    NSURL*url = [NSURLURLWithString:str];

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

    //body

    request.HTTPMethod=@"POST";

    NSString*postStr =  [NSString stringWithFormat:@"loginUserID=%@&isCompany=%@&moduleType=%@&headPortrait=%@",[WDLoginTool shareNetworkTools].username,[WDLoginTool shareNetworkTools].isCompany,[WDLoginTool shareNetworkTools].moduleType,portrait];

    request.HTTPBody = [postStr dataUsingEncoding:NSUTF8StringEncoding];

    [NSURLConnectionsendAsynchronousRequest:requestqueue:[[NSOperationQueuealloc]init]completionHandler:^(NSURLResponse*response,NSData*data,NSError*connectionError) {

        if(connectionError ==nil) {

            // 将Data转换成字符串

            NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];

            if([[dicsafeStringValueForKey:@"result"]isEqualToString:@"success"]) {

                // 更新界面

                [[NSOperationQueue mainQueue] addOperationWithBlock:^{

                    [FFToast showToastWithTitle:@"提示" message:@"图片上传成功!" iconImage:nil duration:3.0f toastType:FFToastTypeSuccess];

                    NSString*path = [dicsafeStringValueForKey:@"path"];

                    NSString*photo    = [NSStringstringWithFormat:@"%@%@",HOST_SERVER_WINDAKE,path];

                    [[NSUserDefaults standardUserDefaults] setObject:photo forKey:@"WDLoginPortrait"];

                    [[NSUserDefaults standardUserDefaults] synchronize];

                    [WDLoginToolshareNetworkTools].portraitURL= photo;

                    [self.navigationControllerpopViewControllerAnimated:YES];

                }];

            }else{

                [[NSOperationQueue mainQueue] addOperationWithBlock:^{

                    [FFToastshowToastWithTitle:@"提示"message:@"上传失败,请稍后重试!"iconImage:nilduration:3.0ftoastType:FFToastTypeError];

                }];

            }

        }else{

            [[NSOperationQueue mainQueue] addOperationWithBlock:^{

                [FFToastshowToastWithTitle:@"提示"message:@"上传失败,请稍后重试!"iconImage:nilduration:3.0ftoastType:FFToastTypeError];

            }];

        }

    }];

你可能感兴趣的:(iOS提交图片,满足服务端的各种姿势)