我的应用程序要求是查看来自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为什么我将图像作为nil,因为我可以看到BLOB很常见所以为什么只有.png文件即使转换为BLOB后我也可以而不是PDF文件。 我阅读了UIImage的支持文档,它没有给出PDF文件但是我给了BLOB图像。我哪里错了。 我必须使用任何其他财产,否则这是不可能的。
答案 0 :(得分: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];