首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sqlite中的图像检索

sqlite中的图像检索
EN

Stack Overflow用户
提问于 2012-12-27 14:41:52
回答 1查看 192关注 0票数 0

我在我的项目中使用sqlite

以前我将图像保存在数据中,但现在我像下面的代码一样将图像保存在字节中

代码语言:javascript
复制
NSUInteger len = [entObject.photoImageData length];  
 Byte *byteData = (Byte*)malloc(len);  
 memcpy(byteData, [entObject.photoImageData bytes], len);  
insertString = [NSString stringWithFormat:@"INSERT INTO TBL_COUNTDOWN (DAIRYID,EVENTID,DESCRIPTION,EVENTIMAGE) VALUES (\"%@\",\"%d\",\"No Data\",\"%s\")",self.dairyId,self.eventId,byteData];

为了检索图像,我使用了以下代码

代码语言:javascript
复制
NSData *dataForCachedImage = [[NSData alloc] initWithBytes:sqlite3_column_blob(statement, 3) length: sqlite3_column_bytes(statement, 3)];  
                    NSLog(@"dataForCachedImage/getAllEvents is %@",dataForCachedImage);  
                    UIImage *cachedImage = [UIImage imageWithData:dataForCachedImage];  
                    NSLog(@"cachedImage/getAllEvents is %@",cachedImage);

对于NSLog中的dataForCachedImage,我获取的是数据,但对于cachedImage,我获取的是null

我不知道我的代码有什么问题。请帮帮我

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-27 15:24:27

您可以将图像保存到文档目录,并将其路径存储到sqlite数据库保存图像代码如下

代码语言:javascript
复制
 #define DOCUMENTS_FOLDER [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]

 // Create a new dated file
 NSDate *now = [NSDate dateWithTimeIntervalSinceNow:0];
 NSString *caldate = [now description];

 NSString *filePath= [NSString stringWithFormat:@"%@/%@.jpg", DOCUMENTS_FOLDER,caldate];
 NSURL *url = [NSURL fileURLWithPath:filePath];

 UIImage *image = [UIImage imageNamed:@"name.jpg"];
 NSData *imageData = UIImagePNGRepresentation(image);

 [imageData writeToFile:filePath atomically:YES];

任何时候你想检索图片,然后获取它,然后使用下面的方法来getImage

代码语言:javascript
复制
- (UIImage*)getImage
{
 NSString *imagePath = [DOCUMENTS_FOLDER stringByAppendingPathComponent:@"imagename.jpg"];
 UIImage *img = [UIImage imageWithContentsOfFile:imagePath];
 return img;
}

正在删除文件

代码语言:javascript
复制
  NSFileManager *fileManager=[NSFileManager defaultManager];
  [fileManager removeItemAtPath:savedFilePath error:nil];

愿这篇文章能帮助你..

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14050536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档