IOS上传图片的方法

下面是图片上传的方法:

-(void)loadImage:(NSString*)aurl
{
        NSData              *imageData;
        NSMutableData       *postBody;
        NSString            *stringBoundary, *contentType;
        NSURL *url = [NSURL URLWithString:aurl];  //将字符串转换为NSURL格式
        
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *path = [documentsDirectory stringByAppendingPathComponent:@"1.jpg"];

    imageData = [[NSData alloc] initWithContentsOfFile:path];

        ASIFormDataRequest *aRequest = [[ASIFormDataRequest alloc] initWithURL:url]; 
        
        stringBoundary = [NSString stringWithString:@"0xKhTmLbOuNdArY"];
        
    contentType    = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", stringBoundary];

        [aRequest addRequestHeader:@"Content-Type" value:contentType];
        
        postBody = [[NSMutableData alloc] init];
        
    [postBody appendData:[[NSString stringWithFormat:@"\r\n\r\n--%@\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
        
    [postBody appendData:[[NSString stringWithString:@"Content-Disposition: form-data; name=\"title\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
        
    [postBody appendData:[[NSString stringWithString:@"lighttable"] dataUsingEncoding:NSUTF8StringEncoding]];  // So Light Table show up as source in Twitter post
        
    NSString *imageFileName = [NSString stringWithFormat:@"photo.jpeg"];
        
    [postBody appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
        
    [postBody appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"upload\"; filename=\"%@\"\r\n",imageFileName] dataUsingEncoding:NSUTF8StringEncoding]];
        
    [postBody appendData:[@"Content-Type: image/jpeg\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; 
        
    [postBody appendData:imageData];
        
        [postBody appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
        
        [postBody appendData:[[NSString stringWithString:@"Content-Disposition: form-data; name=\"password\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
        
    [postBody appendData:[[NSString stringWithString:@"lighttablexxxxxxxx"] dataUsingEncoding:NSUTF8StringEncoding]];  
        
        [postBody appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];

    [aRequest setDelegate:self];
    
        [aRequest appendPostData:postBody];
    
    [aRequest setRequestMethod:@"POST"];  
        
    [aRequest startAsynchronous];
        
        [postBody release];
    [aRequest release];
}

你可能感兴趣的:(IOS上传图片的方法)