2013-05-22 57 views
0

我正在使用AFNetworking下載PDF(這將每週更改)並將其保存到文檔目錄,此代碼:使用AFNetworking從appdelegate從網上下載pdf,然後嘗試加載另一頁上的UIWebview中存儲的pdf

​​

然後我想讀的是保存的文件在一個UIWebView(已下載後)應用程序的其他部分,並使用此代碼:

//Now create Request for the file that was saved in your documents folder 

NSString *resourceDocPath = [[NSString alloc] initWithString:[[[[NSBundle mainBundle] resourcePath] stringByDeletingLastPathComponent] stringByAppendingPathComponent:@"Documents"]]; 

NSString *filePath = [resourceDocPath stringByAppendingPathComponent:@"CurrentEdition1.pdf"]; 

NSURL *url = [NSURL fileURLWithPath:filePath]; 

NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 

[webVieweedition setUserInteractionEnabled:YES]; 

[webVieweedition setDelegate:self]; 

[webVieweedition loadRequest:requestObj]; 

我有使用一些單頁pdf文檔進行測試 - 在它們上面加載它們e服務器,然後查看它們是否已下載,然後在更改時查看。問題是,這似乎只有約50%的時間工作。我會放一個新文件,有時會在UIWebView中顯示正確的文件,有時會顯示前一個文件,而不是新文件。在我嘗試去UIWebView之前,我一直在等待,直到看到下載完成消息(儘管我知道客戶端不會那樣做,但這是另一個問題)。無論如何,我是XCode的新手,並且剛剛成爲一名Web人員。這讓我頭暈了兩天。使用故事板,ARC,XCode 4.6.2。

回答

1

如果我理解正確的,有時你看到同樣的PDF文件的應用程序,但你改變了他們對Web服務器?可能是緩存的原因,嘗試構建要求這樣,無視緩存

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://www.somewebsiteaddress/CurrentEdition1.pdf"] cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:10]; 
+0

謝謝亞歷克斯!我認爲這是答案。我只測試了大約8次,在服務器上交換了pdf,每次在應用程序中顯示正確的。這不是以前發生的事情。它被擊中或錯過!試圖表決答案,但猜測我太新,不能容許。 – user1563057

+0

我太快跳起來了。我正在使用小1頁的pdf來測試。當我轉到標準大小的文檔並轉到它應該在nslog報告它已經下載之前顯示的webview時,它就是黑屏。如果我在某個地方出發,然後再回來,它仍然是一個黑屏 - 從不顯示PDF。 – user1563057

+0

但是,如果您使用舊版變體和這些大型pdf的緩存,它們是否正確disolaying? – alex