0

嗨朋友们,

我正在尝试从 url 获取字符串数据和图像数据。但是字符串数据

显示为空。有人告诉我如何将图像上传到指定的网址。

我在这里写这段代码

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);
4

1 回答 1

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);
于 2012-04-05T08:52:58.117 回答