【问题标题】:UIImage stored in CoreData into UIWebView HTML DocUIImage 存储在 CoreData 到 UIWebView HTML Doc
【发布时间】:2013-02-19 17:18:46
【问题描述】:

我有一个包含 UIImage 作为其属性之一的 CoreData 实体。如果有区别,图像将“存储在外部记录文件中”。

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

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

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

还有其他方法吗?

【问题讨论】:

  • 作为旁注,我强烈建议不要将图像数据存储在 CoreData 中,我曾经为一个项目做过一次,一切都很好,直到我需要现有用户迁移到新的数据库版本。迁移过程花费了 SO LONG,这完全是因为图像数据,当然我使用了 > 100k 图像...
  • 这与 Core Data 无关。如果你有一个 UIImage,答案并不取决于你从哪里得到它。
  • @Tom 来自图像选择器控件的 UIImage 不会保存在磁盘上的任何位置。它纯粹存在于记忆中。从核心数据中检索到的图像存储在持久内存中,并且可能有一种方法可以引用它的存储位置。它可能会有所作为。因此把它放在那里的原因。如果你不打算提供任何帮助,那就什么都别说。
  • 我想指出的是,您不应该浪费时间将 Core Data 视为与您要解决的问题相关的问题。这对我来说似乎很有用,但也许你有不同的观点。现在您添加了一个仍然无关紧要的标签,我不知道为什么。

标签: ios objective-c core-data uiwebview uiimage


【解决方案1】:

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

您可能需要考虑将所有图像作为文件存储在磁盘上,然后从 Core Data 数据库中引用这些文件。将图像数据直接存储在数据库中确实会影响性能。

【讨论】:

  • 非常感谢。当我回到我的电脑时,我会看看这些。
猜你喜欢
  • 2012-08-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-22
  • 1970-01-01
  • 2020-03-03
  • 1970-01-01
相关资源
最近更新 更多