如何使用html显示存储在核心数据数据库中的jpeg图像

时间:2014-03-26 17:08:37

标签: html ios core-data

我以这种方式在核心数据库中飙升了几张图像。该实体名为note。

    NSData *imageData = UIImageJPEGRepresentation(image, 0.5);
    image = nil; // free memory
    [self createNote];
    note.photo_jpeg = imageData;

如何引用为网页生成的html中的图像来显示其中的几个图像?我想我需要这样的东西,但我不知道在IMG SRC中放什么= ...

        NSString *imageHtml = [NSString stringWithFormat:@"<IMG SRC="what do i put here!!!" ALT="Photo" WIDTH=%i HEIGHT=%i>", , )];
        [html appendString:imageHtml];

更新这是我使用的解决方案:

        [html appendFormat:@"<img alt=\"Embedded Image\" src=\"data:image/jpg;base64,%@\" WIDTH=400 />", [currentNote.photo_jpeg base64EncodedStringWithOptions:0]];

其中currentNote是note类型,并通过我正在显示的音符编入索引。

3 个答案:

答案 0 :(得分:2)

您需要将图像数据与HTML内联,编码为base64。

这样的事情:

NSData *imageData = // from your code
NSMutableString *html = // mutable string with whatever else you need

[html appendFormat:@"<img alt=\"Embedded Image\" src=\"data:image/jpg;base64,%@\" />", [imageData base64EncodedStringWithOptions:0]];

请注意,这会复制图像数据,因此如果您以这种方式使用大量图像,请务必注意您使用的内存量。

答案 1 :(得分:1)

NSData需要使用methode来获取base64字符串。

img src =“data:image / jpg; base64,HereBase64RepresentationOfYourJPG”

答案 2 :(得分:0)

我认为没有办法让HTML浸入核心数据。

我会为您的核心数据存储创建一个子目录。在该子目录中,创建一个兄弟目录来保存您的图像。

您可以将图像存储为普通的jpeg文件,并将路径或bookmark-url保存到核心数据对象中的文件中。

这样,您仍然可以通过核心数据访问所有内容,该文件也可用于HTML。

只需在文件中包含该文件的路径即可。