2011-01-14 7 views
1

Ich verwende Fotos, die in der Fotobibliothek in meiner Anwendung gespeichert sind. Wie kann ich den Pfad der in der Fotobibliothek gespeicherten Fotos abrufen?Wie Fotobibliothek Pfad abrufen?

Ich hatte diese UIImage in NSData konvertiert und speicherte diese Daten in der Sandbox der Anwendung (in einer Datei). Mit SQLite habe ich eine Datenbank erstellt und Dateipfad in der Datenbank gespeichert. Immer wenn ich ein Bild brauche, rufe ich NSData aus dem in der Datenbank gespeicherten Dateipfad ab.

NSMutableData *data=[[NSMutableData alloc]init];  
data =UIImagePNGRepresentation([UIImageimageNamed:@"image.png"]);   
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);  
NSString *documentsDirectory = [paths objectAtIndex:0];  
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"first.txt"]; [data writeToFile:filePath atomically:YES];  
NSString *m=[[@"'"stringByAppendingFormat:filePath]stringByAppendingFormat:@"'"]; 
NSString *query=[[@"INSERT INTO newtable (image) VALUES (" stringByAppendingFormat:m]stringByAppendingFormat:@")"]; 
NSLog(@"query....%@",query);   
[obj configureDatabase:@"Editerdb.rdb"];//function to configure database 
[obj insertInTable:query];// function to insert into db 

Dieser Code funktioniert. Gibt es eine einfache Möglichkeit, das zu tun?

Antwort

0

Nun, zuerst in der ersten Zeile werden Sie ein Speicherleck haben. Informationen zur Unterstützung finden Sie in der Dokumentation unter UIImagePNGRepresentation. Entfernen Sie also die erste Codezeile. und verwenden Sie NSData anstelle von NSMutableData coz Sie ändern nicht den Inhalt des Bildes.

und zweite aller Sie nicht den Bildpfad in der Datenbank, sondern das Bild selbst wieder für diesen Referrer Dokumentation nur auf UIImagePNGRepresentation so, wenn sie wollen Bild retrive das NSData Objekt aus der Datenbank zu sparen und die NSData-UIImage mit imageWithData: konvertieren

+0

Dank.Aber wie kann ich NSData in der Datenbank speichern? (Bedeutet in welchem ​​Format ... (varchar, integer ????)) – user572555

+0

tut mir leid für diesen Teil, aber ich habe nicht die sqllite von mir selbst verwendet. Sie können jedoch eine TXT-Datei erstellen, um das Bild zu speichern. google für, wie man eine Textakte im iphone – Robin

+0

bildet, folgen diesem Link http://howtomakeiphoneapps.com/2009/06/reading-and-writing-text-files-in-iphone-os-3-0/ – Robin

Verwandte Themen