2013-10-22 38 views
0

我的應用程序要求是查看從IPAD上傳的文件。 我從BLOB圖像的形式從數據庫導入文件,並將其傳遞給IPAD和下面的代碼,我可以查看圖像。查看PDF文件在UIImage或UIScroller中轉換爲BLOB圖像

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後.png文件我可以SE,而不是PDF文件。 我讀UIImage的支持文件,它不給PDF文件,但我給BLOB圖像。我哪裏出錯了。 我必須使用任何其他財產,否則這是不可能的。

回答

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]; 
+0

好,但我的PDF文件,即時通訊轉換到存儲過程中的BLOB的圖像,這並不意味着它會給予一個特定的甲我可以在iPAD中解碼。因爲.png也是BLOB和PDF文件也是BLOB。 – user2813740

+0

我猜想從NSData到UIImage的轉換意味着png-file(或jpeg)只在沒有任何其他編碼的情況下才加載到NSData中,所以pdf文件的加載方式相同,如果將其保存到磁盤 – aknew

+0

好吧,爲什麼我這樣做,因爲這裏只有在stackoverflow我讀它應該是可能的,因爲它最終是一個BLOB文件。但沒有提到其他內容。如果這一切都不可能,請給我電話UIWebView的例子。直到現在我正試圖獲得這種控制的任何例子。或者我可以用於我的任務的任何控件。 – user2813740