我有一个存储在 MySQL 数据库中的 BLOB 图像,我想在我的 iOS 应用程序中使用它。我创建了一个 PHP 文件来从数据库中检索 BLOB,但我不确定我需要做什么才能将 BLOB 放入我的应用程序中。
请你能给我一个例子,或者指出我这样做的方向吗?
先谢谢了!
我有一个存储在 MySQL 数据库中的 BLOB 图像,我想在我的 iOS 应用程序中使用它。我创建了一个 PHP 文件来从数据库中检索 BLOB,但我不确定我需要做什么才能将 BLOB 放入我的应用程序中。
请你能给我一个例子,或者指出我这样做的方向吗?
先谢谢了!
使用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];
});
});
}