从iOS上的网页请求BLOB


Request BLOB from web-page on iOS

我有一个BLOB映像存储在MySQL数据库中,我想在我的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];
         });
     }); 
}