1

我有一个存储在 MySQL 数据库中的 BLOB 图像,我想在我的 iOS 应用程序中使用它。我创建了一个 PHP 文件来从数据库中检索 BLOB,但我不确定我需要做什么才能将 BLOB 放入我的应用程序中。

请你能给我一个例子,或者指出我这样做的方向吗?

先谢谢了!

4

1 回答 1

1

使用ASIIHTTPRequest从该 PHP 页面请求 BLOB 数据。

使用 BLOB 数据,将其转换为 UIImage。

- (void) getBlobData:(NSURL *) url {
    NSURL *url = [NSURL URLWithString:url];
    __block ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
    [request setCompletionBlock:^{
       NSData *blobData = [request responseData];
       UIImage *blobImage = [UIImage imageWithData:blobData] retain];
       [someImageView performSelectorOnMainThread:@selector(setImage:)
       withObject:blobImage 
       waitUntilDone:YES];
    }];

    [request setFailedBlock:^{
      NSError *error = [request error];
    }];
    [request startAsynchronous];
}

或者,您可以使用 Grand Central Dispatch (GCD) 向网页发送请求以接收 blob:

- (void) getBlobData:(NSURL *) url {

    dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0ul); 
    dispatch_async(queue, ^{  
        NSData *blobData = [NSData dataWithContentsOfURL:url];       
        UIImage *blobImage = [UIImage imageWithData:blobData];
        dispatch_sync(dispatch_get_main_queue(), ^{
             [someImageView setImage:blobImage];
         });
     }); 
}
于 2012-04-04T11:22:40.093 回答