1

MySQL データベースに保存されている BLOB イメージを iOS アプリケーションで使用したいと考えています。データベースから BLOB を取得するための PHP ファイルを作成しましたが、アプリに 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) を使用して Web ページにリクエストを送信し、ブロブを受け取ることもできます。

- (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 に答える