Upload de fichier vers serveur HTTP en programmation iphone
Quelqu'un peut-il me donner quelques liens ou des exemples pour télécharger des fichiers vers le serveur HTTP à l'aide de
iphone Api.
- Étant donné que vous n'avez pas accès au système de fichiers... ce que les fichiers que voulez-vous importer?
- fichiers que vous avez créés vous-même peut-être? vous avez accès au système de fichiers à l'intérieur de votre bac à sable.
Vous devez vous connecter pour publier un commentaire.
Le code ci-dessous utilise HTTP POST NSData à un serveur web. Vous avez également besoin de mineur connaissance de PHP.
14737809831466499882746641449
. Je n'ai absolument aucune idée de pourquoi, peut-être qu'il est utilisé dans certains de la pomme de code de l'échantillon. Quelqu'un a des idées?$file_path = "uploads/";
- Je utiliser$file_path = "$uploaddir = 'http://xxxxx.com/UploadImageInServer/';";
, mais il ne fonctionne pas du tout.ASIHTTPRequest est un grand wrapper autour de l'Api réseau et il est très facile de télécharger un fichier. Voici leur exemple (mais vous pouvez le faire sur l'iPhone trop - nous enregistrer des images sur un "disque" et, plus tard, de les télécharger.
J'ai utilisé ASIHTTPRequest un peu comme Jane Ventes de réponse mais il n'est pas en vertu de développement plus et l'auteur suggère d'utiliser d'autres bibliothèques, comme AFNetworking.
AFNetworking fonctionne très bien, et vous permettent de travailler avec des blocs de beaucoup (ce qui est un grand soulagement).
Voici une image de téléchargement exemple à partir de leur page de documentation sur github:
C'est un grand film, mais lors de la publication d'un asp.net page web, deux postes supplémentaires valeurs doivent être définis:
Essayer cette.. très facile à comprendre & la mise en œuvre...
Vous pouvez télécharger des exemples de code directement ici https://github.com/Tech-Dev-Mobile/Json-Sample
Ce n'est pas une solution alternative, mais plutôt une suggestion pour Brandon populaire de réponse (vu que si je n'ai pas assez de rep à commenter cette réponse). Si vous êtes le téléchargement de fichiers volumineux; vous allez probablement obtenir un mmap malloc exception sur le compte d'avoir à lire le fichier dans la mémoire de la poste sur votre serveur.
Vous pouvez modifier Brandon code en remplaçant:
Avec:
J'ai pensé que je voudrais ajouter un peu de côté serveur php de cette réponse pour tout les débutants qui lisent ce post et ont du mal à comprendre comment recevoir le fichier sur le serveur et enregistrer le fichier sur le système de fichiers.
Je me rends compte que cette réponse ne répond pas directement aux OP de la question, mais puisque Brandon réponse est suffisante pour l'appareil iOS côté de téléchargement et il mentionne que certaines connaissances de php est nécessaire, j'ai pensé que je voudrais remplir le php écart avec cette réponse.
Ici est une classe que j'ai mis en place avec quelques exemples d'utilisation du code. Notez que les fichiers sont stockés dans des répertoires sur la base de laquelle l'utilisateur est de les télécharger. Cela peut ou peut ne pas être applicables à votre utilisation, mais je pensais le laisser en place juste au cas où.
Voici un exemple de code montrant comment vous pouvez utiliser la classe upload...
J'ai fait un léger méthode de sauvegarde pour le Mobile-AppSales app disponible à github
J'ai écrit à ce sujet ici http://memention.com/blog/2009/11/22/Lightweight-backup.html
Recherchez le
- (void)startUpload
méthode dansReportManager.m
Une mise à jour de @Brandon réponse, généralisés à une méthode
Invoquer comme, l'envoi de données à partir d'une chaîne: