-1

我有一个 sqlite db 存储在 Document 目录中,图像名称存储在表的一列中。图像存储在应用程序包中。图像是通过使用代码在列中给出 imgaes 的名称直接来的。意味着没有需要指定任何路径..只要名称就可以了。

现在,如果我在文档目录中动态存储图像并直接在 Sqlite db 的图像列中给出图像的名称,我无法获取它。我是否需要指定任何路径才能到达那里..因为应用程序包中的图像直接出现。

4

5 回答 5

5

是的。您需要在文档目录中指定 sqlite 文件的路径。

或者使用以下代码和相应的图像名称(图像在文档目录中):

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *imagePath = [documentsDirectory stringByAppendingPathComponent:@"img.png"];
yourImageView.image = [UIImage imageWithData:[NSData dataWithContentsOfFile:imagePath]];
于 2013-06-26T05:05:09.293 回答
0

您可以获得如下目录路径:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];

要获取图像,您必须在此路径后附加图像名称。您的数据库中有数据,因此您可以从中获取图像名称。

于 2013-06-26T05:11:50.837 回答
0

如果数据库中的值只是图像的名称(例如“someimage.png”),那么您有两种可能:

1)如果图像在应用程序包中,则将数据库中的值与UIImage imageNamed:方法一起使用。我相信你已经有了这个工作。

2)如果图像在Documents目录中,那么您还有更多工作要做。您需要获取Documents目录的完整路径,然后将文件名(来自数据库)附加到路径中。这将为您提供Documents目录中图像的完整路径。然后要加载图像,您需要使用UIImage imageWithContentsOfFile:传递完整文件路径的方法。

于 2013-06-26T05:18:36.427 回答
0

使用此代码。

  NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory35 = [paths objectAtIndex:0];


//Essential Info
NSString *fullPathEssentialInfo = [documentsDirectory35 stringByAppendingPathComponent:@"EssentialInfo.txt"];   

这是实现的代码。谢谢

于 2013-06-26T05:22:04.910 回答
0

这里有一个访问 SQLite 的示例项目:https ://github.com/AaronBratcher/ABSQLite

于 2013-07-11T14:41:20.417 回答