Comment télécharger un fichier et l'enregistrer dans le répertoire documents avec AFNetworking?
Je suis en utilisant le AFNetworking de la bibliothèque. Je ne peux pas comprendre comment faire pour télécharger un fichier et l'enregistrer dans le répertoire documents.
Vous devez vous connecter pour publier un commentaire.
operation.hasAcceptableStatusCode
NSURLRequest
Comment post ou get une url?Je vais rebondir sur @mattt de répondre et de poster une version pour AFNetworking 2.0 à l'aide de
AFHTTPRequestOperationManager
.Je parle AFNetworking 2.0
[AFHTTPRequestOperationManager manager]
crée le gestionnaire d'objet par défaut AFJSONResponseSerializer, et il effectue des types de contenu de restriction. Jetez un oeil à ceNous avons donc besoin de créer un aucune réponse sérialiseur et l'utilisation
AFHTTPRequestOperationManager
comme d'habitude.Ici est la AFNoneResponseSerializer
Utilisation
afin que nous puissions obtenir le fichier en entier, sans sérialisation
Page de Documentation a exemple à la section "Création d'une Tâche de Téléchargement':
NB! Code de travail avec iOS 7+ (testé avec AFNetworking 2.5.1)
De AFNetworking docs.
Enregistrer le fichier chargé à vos documents.
AFNetworking 3.0
//manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject: @"application/octet-stream"]; peut varier en fonction de ce que vous attendez
Oui, il est préférable d'utiliser
AFNetworking 2.0
façon avecAFHTTPRequestOperationManager
. Avec les vieux chemin de mon fichier a télécharger, mais pour une raison quelconque n'a pas de mise à jour dans le système de fichiers.Ajoutant à swilliam de réponse, pour montrer la progression du téléchargement, en
AFNetworking 2.0
vous faire de même - il suffit de définir la progression du téléchargement bloc après la définition de flux de sortie.C'est ma méthode pour créer des octets de la chaîne:
En plus de la réponse à la question précédente, avec AFNetworking 2.5.0 et iOS7/8 j'ai trouvé que l'étape supplémentaire de l'ouverture du flux de sortie est également nécessaire pour éviter l'application de la pendaison (et finalement s'écraser d'un manque de mémoire).