2012-04-04 4 views
1

Ich habe ein BLOB-Bild in einer MySQL-Datenbank gespeichert, von denen ich gerne in meiner iOS-Anwendung verwenden würde. Ich habe eine PHP-Datei erstellt, um das BLOB aus der Datenbank zu holen, aber ich bin unsicher, was ich tun muss, um das BLOB in meine App zu bekommen.Request BLOB von Web-Seite auf iOS

Bitte können Sie mir ein Beispiel geben, oder weisen Sie mich in die Richtung?

Vielen Dank im Voraus!

+1

Ich glaube nicht, Ihre Frage ist klar. Fragen Sie, wie Sie das Bild in Objective-C abrufen können? Xcode ist die IDE, Objective-C ist die Sprache. Versuchen Sie, dieses Bild in einer Mac- oder iOS-App zu verwenden? – davidethell

+0

Tut mir leid, vielleicht habe ich es mir nicht gut erklärt, ich arbeite an einer iPhone App. Ja, ich möchte das Bild in Objective C – user1312508

+0

@davidethell abrufen Ich habe die Frage und den Titel für den Benutzer bearbeitet, hoffentlich sollte es jetzt ein wenig verständlicher sein. –

Antwort

1

Verwenden Sie ASIIHTTPRequest, um die BLOB-Daten von dieser PHP-Seite anzufordern.

Mit den BLOB-Daten konvertieren Sie es in ein 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]; 
} 

Alternativ können Sie Grand Central Dispatch (GCD) verwenden, um eine Anfrage an die Web-Seite, um den Blob zu erhalten zu senden:

- (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]; 
     }); 
    }); 
}