Храните изображения в базе данных SQLite и извлекайте их в ios5 - PullRequest
0 голосов
/ 13 февраля 2012

Я использую SQLite 3.0 и iOS5.

Теперь я хочу сохранить изображения в типе данных vrchar2 в базе данных и получить их в виде моего iPhone.

Я использовал изображения, хранящиеся в данных BLOBвведите и с помощью NSDATA я получил его .. Но теперь я хочу получить его в ImageView ..

Как я могу его использовать?

Ответы [ 3 ]

1 голос
/ 14 февраля 2012

Есть ли какая-либо конкретная причина использования всего изображения в базе данных?

Причина, по которой стоит спросить об этом, заключается просто в том, что я думаю, что хранение NSData в базе данных хранит много данных в базе данных, что в долгосрочной перспективе может сделать вашу базу данных действительно тяжелой.

Лучший вариант - сохранить изображение в каталоге документов или может быть каталогом библиотеки в этом отношении, а затем просто сохранить полный путь изображения в вашей базе данных.

Тогда просто для извлечения его в imageView вам нужно вызвать

UIImageView *imgView = [UIImageView setImage:[[UIImage alloc] initWithContentsOfFile:filePath]];

Здесь все, что вам нужно передать - это filePath, который вы извлекли из базы данных.

Надеюсь, это поможет вам.

1 голос
/ 13 февраля 2012

Сначала вы должны создать UIImage из NSData, используя:

UIImage *img = [[UIImage alloc] initWithData:theData];

Затем вы можете использовать это изображение в виде вашего изображения:

UIImageView *imgView = [[UIImageView alloc] initWithImage: img];

Не забудьте сделать все правильнохотя управление памятью!

0 голосов
/ 13 февраля 2012

Вам необходимо создать DAO, чтобы вы могли получить информацию из файла sqlite.Затем вызовите этот файл, чтобы получить всю необходимую информацию.Затем получите большой двоичный объект следующим образом:

const char * myData = sqlite3_column_blob(statement, 1(this number is different according to your database));
int myDataSize = sqlite3_column_bytes(statement, 1);
NSData *data = [NSData dataWithBytes:myData length:myDataSize];

Затем инициализируйте

myPhoto.thePhoto = [[UIImage alloc] initWithData:data];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...