2011-11-17 12 views
2

iPhoneアプリケーション内の1つのフォルダ内の画像、JavaScriptとCSSを使ってHTMLページを保存htmlファイルを生成します。</p> <p>が、私はコードの下に行っている..私は、画像、CSSやJavaScriptのなどでドキュメントディレクトリ内のWebページを保存したい

NSURL *url = [NSURL URLWithString:@"http://www.apple.com"]; 
NSData *urlData = [NSData dataWithContentsOfURL:url]; 
[urlData writeToFile:filePath atomically:YES]; 

ご意見やご提案は大歓迎です。

おかげ

答えて

2

ASIHTTPRequest projectは正確にあなたがやりたいように設計されてASIWebPageRequestというクラスがあります。プロジェクトに依存関係を追加しても問題がなければ、それは良い解決策だと思う:ASIWebPageRequest。私はそこにそれを使用する方法のいくつかの良い例であるが、私は完全を期すためここではそれらのうちの1つを含んでます上記気に入ったページで

は:

- (IBAction)loadURL:(NSURL *)url 
{ 
    // Assume request is a property of our controller 
    // First, we'll cancel any in-progress page load 
    [[self request] setDelegate:nil]; 
    [[self request] cancel]; 

    [self setRequest:[ASIWebPageRequest requestWithURL:url]]; 
    [[self request] setDelegate:self]; 
    [[self request] setDidFailSelector:@selector(webPageFetchFailed:)]; 
    [[self request] setDidFinishSelector:@selector(webPageFetchSucceeded:)]; 

    // Tell the request to embed external resources directly in the page 
    [[self request] setUrlReplacementMode:ASIReplaceExternalResourcesWithData]; 

    // It is strongly recommended you use a download cache with ASIWebPageRequest 
    // When using a cache, external resources are automatically stored in the cache 
    // and can be pulled from the cache on subsequent page loads 
    [[self request] setDownloadCache:[ASIDownloadCache sharedCache]]; 

    // Ask the download cache for a place to store the cached data 
    // This is the most efficient way for an ASIWebPageRequest to store a web page 
    [[self request] setDownloadDestinationPath: 
     [[ASIDownloadCache sharedCache] pathToStoreCachedResponseDataForRequest:[self request]]]; 

    [[self request] startAsynchronous]; 
} 

- (void)webPageFetchFailed:(ASIHTTPRequest *)theRequest 
{ 
    // Obviously you should handle the error properly... 
    NSLog(@"%@",[theRequest error]); 
} 

- (void)webPageFetchSucceeded:(ASIHTTPRequest *)theRequest 
{ 
    NSString *response = [NSString stringWithContentsOfFile: 
     [theRequest downloadDestinationPath] encoding:[theRequest responseEncoding] error:nil]; 
    // Note we're setting the baseURL to the url of the page we downloaded. This is important! 
    [webView loadHTMLString:response baseURL:[request url]]; 
} 
+0

おかげSrikarはupvotesため – NSS

+0

感謝を:)しました! –

関連する問題

 関連する問題