android 版的我是采用 HttpURLConnection+ DataOutputStream+ DataInputStream完成上传的,IOS则是以下面代码上传的,结果上传总是失败。 NSURL *url = [NSURL URLWithString:urlServer];
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
    NSLog(@"PATH:%@",szImageName);
    NSInputStream *inStream = [NSInputStream inputStreamWithFileAtPath:szImageName];
    [request setValue:@"application/stream" forHTTPHeaderField:@"Content-Type"];
    [request setHTTPBodyStream:inStream];
    [request setHTTPMethod:@"POST"];
  NSError *error = nil;
   NSData *conn = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:&error]; 

解决方案 »

  1.   

    感觉是一样的呀,无非就是把java里面的Stream改成NSData呀。
      

  2.   

    我用的第三方的ASIHTTPRequest类库.ASIHTTPRequest就是一个对CFNetwork API进行了封装,并且使用起来非常简单的一套API,用Objective-C编写,可以很好的应用在Mac OS X系统和iOS平台的应用程序中。这是我项目中上传的单个图片的源码,希望能帮到你。
    - (void) saveImage:(UIImage *)currentImage withName:(NSString *)imageName
    {
        NSString *imageUrl = [ [NSString alloc]initWithFormat:@"http://www.xxx.xxxx];
        NSLog(@"我的请求路径:%@",myUrl);
        NSURL *url = [NSURL URLWithString: myUrl];
        NSData *imageData = UIImagePNGRepresentation(currentImage);
        ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
        
        [request setData:imageData withFileName:imageName andContentType:@"photo" forKey:@"fileUpload"];
        request.timeOutSeconds = 35;
        [request buildPostBody];
        
        [request setDelegate:self];
        [request startAsynchronous];
        [self MBProgressWithTitle:@"图片保存中..."];
        [imageUrl release];
    }
      

  3.   

    不是有第三方库吗,gihub上就有的