如何将字符串获取到指定的URL?

时间:2012-04-05 08:39:21

标签: iphone ios xcode4 nsurlconnection

朋友们,

我正在尝试从url.but获取字符串数据和图像数据

显示null。任何人都告诉我如何将图像上传到指定的网址。

这里我正在编写此代码

UIImage *image = [UIImage  imageWithData: [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://192.168.1.105:9966/PC/DisplayImage?id=2"]]];

myimages.image=image;
NSURL *url = [ NSURL URLWithString: [ NSString stringWithFormat:@"http://192.168.1.105:9966/PC/DisplayImage?id=2"] ]; 
NSData *imageData = UIImageJPEGRepresentation(image, 90);
NSString *encodedImage = [Base64 encode:imageData];
NSLog(@"my encoding image is %@",encodedImage);
NSURL *url = [ NSURL URLWithString: [ NSString stringWithFormat: @"http://192.168.1.105:9966/PC/DisplayImage?id=2"] ]; 
NSString *test = [NSString stringWithContentsOfURL:url];
NSLog(@"naveenkumar testing%@",test);

1 个答案:

答案 0 :(得分:1)

您可以使用NSURLConnection通过post方法上传图片 -

NSURL *postURL = [NSURL URLWithString:[NSString stringWithFormat:@"%@submit.php",@"http://x.com/"]]; 

    NSMutableURLRequest *postRequest = [NSMutableURLRequest requestWithURL:postURL
                                                               cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                           timeoutInterval:30.0];

    // change type to POST (default is GET)
    [postRequest setHTTPMethod:@"POST"];

    NSMutableData *postBody = [NSMutableData data];


    // just some random text that will never occur in the body
    NSString *stringBoundary = @"0xKhTmLbOuNdArY---This_Is_ThE_BoUnDaRyy---pqo";
    // header value
    NSString *headerBoundary = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",
                                stringBoundary];
    // set header
    [postRequest addValue:headerBoundary forHTTPHeaderField:@"Content-Type"];
// image ------------

        [postBody appendData:[[NSString stringWithFormat:@"--%@\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
        [postBody appendData:[@"Content-Disposition: form-data; name=\"text\"; filename=\"frontimage.png\"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
        [postBody appendData:[@"Content-Type: image/png\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
        [postBody appendData:[@"Content-Transfer-Encoding: binary\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
        // add it to body

        [postBody appendData:UIImageJPEGRepresentation(image, 90)];
        [postBody appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
// final boundary

    [postBody appendData:[[NSString stringWithFormat:@"--%@\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];


    // add body to post
    [postRequest setHTTPBody:postBody];

    NSURLConnection *theConnection = [NSURLConnection connectionWithRequest:postRequest delegate:self];

    if (theConnection) 
        NSLog(@"%@",theConnection);