Xcode - iOS - il suffit de télécharger un fichier sur un Serveur FTP
Je suis en train de travailler avec des Serveurs FTP.
J'ai googlé autour pour tout et tout ce qui est difficile à comprendre pour les débutants comme moi. SimpleFTPSample est difficile à comprendre parce que c'est tellement à la fois. points de vue, des boutons, des étiquettes, des textflelds, télécharger, téléchargement, demande, liste, obtenir. Même avec BlackRaccoon et tout le reste.
Comment Simplement et programily télécharger "test.txt" au Serveur FTP: "192.168.1.111" dans Xcode (application iPhone) sans vue sur la touche ou. Juste un code qui peut être dans le ViewDidLoad par exemple.
Peut-être quelque chose comme ça?:
NSURL* url = [NSURL URLWithString:@"ftp://username:[email protected]"];
CFReadStreamRef stream = CFReadStreamCreateWithFTPURL(NULL, (__bridge CFURLRef) url);
stream.delegate= self;
[stream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[stream open];
mais quel fichier?
développez ce, ou écrire un nouveau code. je ne sais pas, c'est nouveau pour moi.
Merci Jonathan
OriginalL'auteur Jonathan Gurebo | 2013-06-14
Vous devez vous connecter pour publier un commentaire.
Comme l'écrivain de Noir Raton-laveur, je suis peut-être biaisé (bon, je SAIS que je suis partial), mais j'ai essayé de faire simple et puissant que possible. Regardons ce que vous voulez faire, de télécharger un fichier:
Il y a quatre choses que nous avons besoin de télécharger un fichier de démarrage de code, puis quatre délégué méthodes: remplacer vérifier, de données, de la réussite et de l'échec. Supposons que vous avez lu tout le fichier en mémoire (bien pour les petits fichiers de moins de 2 mo).
Tout d'abord, vous avez besoin de ces dans votre en-tête:
Maintenant, pour la partie de code:
Le premier sera de demander votre code si vous voulez remplacer un fichier existant.
Prochaine, Noir Raton laveur va vous demander des blocs de données à envoyer. Si vous avez un fichier très volumineux, vous ne voulez JAMAIS essayer de l'envoyer à tous d'un seul coup - Pomme d'API va s'étouffer et déposer des données. Cependant, nous n'avons qu'un petit morceau de sorte que nous n'ceci:
N'oubliez pas que nous pouvons SEULEMENT le faire pour un fichier de petite taille.
Ensuite, nous avons notre gestionnaire d'achèvement (si les choses fonctionnaient selon le plan):
Enfin nous avons notre échec gestionnaire:
Ce serait MERVEILLEUX si c'était aussi simple que de dire
[BRFtpUploadTo: dest srcfile: srcFile destfile: dstFile]
mais il y a beaucoup de raisons pour lesquelles vous ne devriez PAS. Une partie de cela a à voir avec la façon dont Apple a mis en œuvre leur FTP interne. Il y a aussi les points de blocage, des erreurs, etc. En fin de compte, FTP sonne comme il devrait être trivial, mais finit par être un peu un cauchemar.FTP est non-trivial, qui est pourquoi il ya tellement de nombreuses implémentations. Je suis pas en train de dire que le Noir Raton laveur est le meilleur, mais il est maintenu à la réponse aux questions entre minutes à quelques jours.
Il peut sembler intimidant au début, mais le Noir Raton laveur est, à mon avis, l'un des meilleurs FTP bibliothèques. J'ai passé beaucoup de temps et d'efforts pour en faire un produit de qualité avec une excellente réponse aux questions. Comment puis-je le faire gratuitement? Le Volume. 😉
Bonne chance avec tout ce que le logiciel de FTP, vous vous retrouvez avec!
Vous avez raison, c'est une faute de frappe. Un changement majeur dans le Noir Raton laveur, c'est qu'il utilise
requestDataToSend
pour la sortie des données, il semble y avoir quelques problèmes en essayant de ftp les fichiers dans une mémoire de 2 à 5 mo. Alors maintenant, au lieu de cela, toutes les données passe par larequestDataToSend
. Si vous pouviez faire un rapport de bogue avec plus d'informations, je vous en serais reconnaissant.Black Raccoon travailler avec NSOperation?
Noir Raton laveur est conçu pour fonctionner avec le thread principal. Je suis sous l'impression que les autres ont eu de travail en vertu d'un thread secondaire, mais officiellement, je ne le supporte pas pour de nombreuses raisons.
qu'est-ce que le uploadFile.chemin dans uploadFile méthode? est-il nécessaire ? peut-on omettre.?
OriginalL'auteur Lloyd Sargent
Chemin de téléchargement est nécessaire lors du téléchargement. C'est le moyen du protocole FTP.
Le port est le port FTP standard). Je ne connais pas de moyen de changer ce, sans violer l'API. Si vous comprenez cela, vous avez une bonne chance de ne pas passer d'Apple vérifier.
Ce code permet de télécharger/télécharger n'importe quel fichier.
Je ne sais pas comment faire ce travail dans des conditions sécurisées. Il utilise Apple protocole FTP. Il y a d'autres FTP les paquets qui ont construit ce à partir de zéro et sont beaucoup plus intelligent. Je veux le regarder dans.
BR a été conçu parce que j'avais besoin de FTP simple communication. Blanc Raton laveur n'a pas fait cela pour moi, car à l'époque (il a depuis été modernisé).
OriginalL'auteur Lloyd Sargent