2011-07-29 11 views
1

私はiPhoneの開発には初めてです。iphoneのwebviewでダウンロードしたファイルを開く

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *basePath = [paths objectAtIndex:0]; 
NSString *fileLoc = [basePath stringByAppendingString:@"/filename.pdf"]; 
NSData *fileData = [self decodeBase64WithString:soapResults]; 
[fileData writeToFile:fileLoc atomically:YES]; 

そして、私のファイルのパスにあります:私は、私は、コードを次のようにWebサービスを使用してファイルをダウンロードしていたにiphoneのアプリケーションが開発しています/ユーザ/ myusernameと指定/ライブラリ/ Application Support/iPhoneシミュレータ/ 4.0 /アプリケーション/ 7A627E64-DEAB-40FA-BE04-35ED50580B65/filename.pdf

どのようにすればこのファイルをuiwebviewで開くことができますか?私はこれを試してみました:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *basePath = [paths objectAtIndex:0]; 
NSString *fileLoc = [basePath stringByAppendingString:@"/filename"]; 
[self loadDocument:fileLoc inView:mywebview]; 

マイloadDocument方法は次のとおりです。

-(void)loadDocument:(NSString*)documentName inView:(UIWebView*)webView 
{ 
NSString *path = [[NSBundle mainBundle] pathForResource:documentName ofType:@"pdf"]; 
NSURL *url = [NSURL fileURLWithPath:path]; 
NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
[webView loadRequest:request]; 
} 

しかし、それはエラーを示す...私は場所が問題だと思う...どのように私はシミュレータでだけでなく、パスを見つけることができます信号装置

助けてください...

答えて

2

pathForResource:ofType:だけで、あなたのアプリケーションバンドルの一部として出荷されているリソースファイルをロードするために使用することができます:あなたはこのようWebViewのものに文書をロードする必要があります。ダウンロードしたファイルをDocumentsディレクトリからロードしようとしています。だから、あなただけ行うことができるはず

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *basePath = [paths objectAtIndex:0]; 
NSString *fileLoc = [basePath stringByAppendingString:@"/filename.pdf"]; 
NSURL *url = [NSURL fileURLWithPath:fileLoc]; 
NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
[webView loadRequest:request]; 
+0

ありがとうございます...それは働いた... – itdeeps

+0

元のデバイスのために、この同じファイルの場所が動作しますか? – itdeeps

+0

はい。 'NSSearchPathForDirectoriesInDomains'は、デバイスとシミュレータの両方に適切なパスを返します。 – cduhn

0

エラーは何ですか? loadDocumentメソッドはどのように見えますか?

[webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:fileLoc]]]; 
+0

私はloadDocumentメソッドを追加するのを忘れて申し訳ありませんが...今私はそれを追加しました..あなたが言ったようにそれは同じです...そして、私の誤差があるか確認してください:[NSURL」 initFileURLWithPath:]:コンソール内のnil文字列パラメータ... – itdeeps

+0

loadDocumentメソッドのパス値としてnull値を取得しています..任意のアイデア??? – itdeeps

関連する問題