上传图片到服务器

问题描述:

我想一个 UIImage 上传到服务器。上传图片到服务器

我不知道如何将它添加到我的岗位到服务器的问题。 直到现在我发送的发布与硫:

NSString *reqURL = [NSString stringWithFormat:@"url"]; 
    reqURL = [reqURL stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]; 
    NSURLRequest *theRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:reqURL]]; 
    NSURLResponse *resp = nil; 
    NSError *err = nil; 
    NSData *response = [NSURLConnection sendSynchronousRequest: theRequest returningResponse: &resp error: &err]; 

有任何不同的方式进行图像呢?

使用ASIHttpRequest

-(void)uploadImage{ 
    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 

    // Upload a file on disk 
    [request setFile:@"/Users/ben/Desktop/ben.jpg" withFileName:@"myphoto.jpg" andContentType:@"image/jpeg" 
forKey:@"photo"]; 

    // Upload an NSData instance 
    [request setData:UIImageJPEGRepresentation(myUIImage) withFileName:@"myphoto.jpg" andContentType:@"image/jpeg" forKey:@"photo"]; 

    [request setDelegate:self]; 
    [request setDidFinishSelector:@selector(uploadRequestFinished:)]; 
    [request setDidFailSelector:@selector(uploadRequestFailed:)]; 

    [request startAsynchronous]; 
} 

This answer指向this wrapper framework这应该很容易做到你想要的而不处理HTTP头字符串等等。

基本上,您将使用UIImagePNGRepresentation()之类的函数将您的UIImage变为NSData对象,然后通过HTTP将其上载。