2013-02-19 79 views
0

我有一个CoreData实体包含UIImage作为其属性之一。如果影响有所不同,则图像被“存储在外部记录文件中”。UIImage存储在CoreData到UIWebView HTML文档

我想在UIWebView中显示图像作为HTML文档的一部分,但我不知道如何去做。

我不能只使用gifdata并将该数据加载到UIWebView中,因为我希望它加载为HTML字符串的一部分,即我也有其他文本和布局。

我想我可以使用占位符文件名并将图像保存到目录,然后删除它,一旦视图消失?

有没有另外一种方法呢?

+0

作为一个侧面说明,我强烈建议不要在CoreData中存储图像数据,我曾为一个项目做过一次,一切都很好,直到我需要现有用户迁移到新的数据库版本。它采用** SO LONG **进行迁移过程,这完全是因为图像数据,授予我使用> 100k图像... – Shizam 2013-02-19 17:37:15

+1

这与Core Data无关。如果你有UIImage,答案不取决于你从哪里得到它。 – 2013-02-19 18:36:52

+0

@Tom从图像选取器控件的UIImage不保存在磁盘上的任何位置。它纯粹生活在记忆中。从核心数据中检索到的图像存储在永久存储器中,并且可能有参考存储位置的方法。它可能会有所作为。因此,把它放在那里的原因。如果你不打算提供任何帮助,那就不要说任何话。 – Fogmeister 2013-02-19 18:57:38

回答

3

从技术上讲,您可以将图像数据编码为base64,并将其嵌入为data: URL,但仅引用图像文件可能更好。

您可能会考虑将所有图像存储为磁盘上的文件,并仅从Core Data数据库引用这些文件。将图像数据直接存储在数据库中可能会严重影响性能。

+0

很感谢。当我回到我的电脑时,我会看看这些。 – Fogmeister 2013-02-19 19:00:06