0

我的应用程序要求是查看从 IPAD 上传的文档。我正在以 BLOB 图像的形式从数据库导入文档并将其传递给 IPAD,并使用以下代码查看图像。

NSString *strImage; // String has BLOB image from DB

NSData *imageData = [self dataFromBase64EncodedString:strImage];

UIImage *image = [UIImage imageWithData:imageData];

UIImageView *m_oImageViewer = [[UIImageView alloc]init];

m_oImageViewer.image = image;
m_oImageViewer.frame=CGRectMake((self.view.frame.size.width/2)- 250,60,500,500);
[self.view addSubview:m_oImageViewer];


-(NSData *)dataFromBase64EncodedString:(NSString *)string{
if (string.length > 0) 
{
     NSString *data64URLString = [NSString stringWithFormat:@"data:;base64,%@", string];
    NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:data64URLString]];
    return data;
}
return nil;

如果 PDF 文件转换为 BLOB,为什么我得到的图像为零,因为我可以看到 BLOB 很常见,所以为什么即使在转换为 BLOB 之后我也只能看到 .png 文件而不是 PDF 文件。我阅读了 UIImage 的支持文档,它没有提供 PDF 文件,但我提供的是 BLOB 图像。我哪里出错了。我必须使用任何其他属性,否则这是不可能的。

4

1 回答 1

0

PDF 不是图像格式,它类似于包含文本、字体、矢量和光栅图像等的容器,因此您无法将其转换为 UIImage,但 UIWebView 可以显示 pdf(以及许多其他格式)。我认为,您应该将 pdf BLOB 保存到临时文件夹,然后在 UIWebView 中显示它,例如:

    [pdfData writeToFile:tempFilePath atomically:YES];
    NSURL *url = [NSURL fileURLWithPath:tempFilePath];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    [self.webView  loadRequest:request];
于 2013-10-22T12:27:56.947 回答