Сохранить изображение в базе данных - PullRequest
0 голосов
/ 05 марта 2012

В моем приложении пользователь может добавлять шаблоны.На этот шаблон он добавляет любое количество изображений и текстовых просмотров.У него есть возможность изменить свойства textviews, такие как имя шрифта, цвет шрифта, размер шрифта и многое другое.Операции с изображениями, такие как поворот изображения на любой угол, увеличение / уменьшение размера во время выполнения и многое другое.После этого пользователь сохраняет этот шаблон и позже видит, что хочет.Поэтому я хочу сохранить всю эту операцию, выполненную пользователем, и просмотреть недавний список.Так как это сделать?

Ответы [ 2 ]

1 голос
/ 05 марта 2012
sqlite3 *database;
    dbName=@"dataTable.sqlite";
    NSArray *documentpath=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentdir=[documentpath objectAtIndex:0];
    dbPath=[documentdir stringByAppendingPathComponent:dbName];
    sqlite3_stmt *compiledStmt;
   if(sqlite3_open([dbPath UTF8String], &database)==SQLITE_OK){
        NSLog(@"Name:%@,Company:%@,URL:%@",model.personName,model.companyName,model.imgurl);
        const char *insertSQL="insert into Persons(PersonName,CompanyName,ImgUrl,PersonImage)values(?,?,?,?)";
    if(sqlite3_prepare_v2(database,insertSQL, -1, &compiledStmt, NULL)==SQLITE_OK){
        sqlite3_bind_text(compiledStmt,1,[model.personName UTF8String],-1,SQLITE_TRANSIENT);
        sqlite3_bind_text(compiledStmt,2,[model.companyName UTF8String],-1,SQLITE_TRANSIENT);
        sqlite3_bind_text(compiledStmt,3,[model.imgurl UTF8String],-1,SQLITE_TRANSIENT);
        NSData *imageData=UIImagePNGRepresentation(imageView.image);
        sqlite3_bind_blob(compiledStmt, 4, [imageData bytes], [imageData length], NULL);
        NSLog(@"Prepare");
        sqlite3_step(compiledStmt);
    }
sqlite3_finalize(compiledStmt);
0 голосов
/ 05 марта 2012

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

UIImage *img = [NSKeyedUnarchiver unarchiveObjectWithFile:db.ImgKey];

Сохранение изображений в БД тяжелое, а тяжелые и тяжелые.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...