2010-02-06 6 views
2

Je suis actuellement en train de développer une application iPhone et je voudrais mettre en œuvre la possibilité de télécharger des fichiers (en particulier des fichiers pdf, mp3, doc et ppt) à partir d'Internet. J'ai créé l'UIWebView, mais je veux connaître la meilleure façon de capturer les fichiers quand ils sont liés dans le webview et ensuite les télécharger dans un dossier spécifié dans le répertoire de documents.Télécharger des fichiers dans l'application iPhone

Tous les conseils/liens vers des tutoriels, etc. seraient grandement appréciés.

Vive

Répondre

2

J'ai trouvé la méthode pour capturer des liens. Il est une méthode déléguée, alors assurez-vous que tous les crochets sont en place:

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType { 

    //CAPTURE USER LINK-CLICK. 
    if (navigationType == UIWebViewNavigationTypeLinkClicked) { 
     NSURL *URL = [request URL]; 
     NSLog(@"url is: %s ", URL); 
    } 
    return YES; 
} 

From here

afficherons mon code final une fois que je suis fait.

3

Edité
UIWebView ne peut pas être utilisé pour télécharger pdf, mp3, doc, ppt, etc ... Il est utilisé pour afficher uniquement page Web.

Vous devez utiliser Quartz 2D pour dessiner un document pdf. Vous avez besoin de Media Player framework pour jouer des chansons, des livres audio.

Pour télécharger un fichier à partir du serveur, vous pouvez essayer d'utiliser la méthode [NSData initWithContentsOfURL].

Un exemple:

NSString *strImagePathURL = [NSString stringWithFormat:@"http://foo.com/%d.png", item]; 
NSData *imageData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:strImagePathURL]]; 

Vous pouvez ensuite décider quoi faire avec NSData, vous pouvez l'enregistrer dans un fichier sur le dossier Documents en utilisant la méthode [NSData writeToFile].

+1

Merci pour la réponse, mais si vous lisez la question, je demande comment les télécharger sur Internet en utilisant l'UIWebView. La question était plus un cas de la façon de capturer des liens vers des fichiers avec les extensions de fichier énoncées. – Jack

+0

Vous pouvez également gérer les fichiers mp3 et pdfs dans un UIWebView. – Jack

+1

Salut Jack, si vous voulez télécharger les fichiers de types spécifiques, vous devez toujours gérer vous-même. D'après ce que je sais, enregistrer des fichiers dans Safari est impossible. Vous pouvez capturer les liens que l'utilisateur clique et créer le NSData pour les télécharger manuellement. –

Questions connexes