AFNetworking 3.x multipart forme de téléchargement
J'ai un formulaire d'upload comme ceci:
<form action="http://localhost/upload.php" method="post" enctype="multipart/form-data">
<input type="file" id="upload" name="upload" />
</form>
et le code php de procéder téléchargez le formulaire:
isset($_FILES["upload"]) or die("Error");
//Path prepare stuff
if (move_uploaded_file($_FILES["upload"]["tmp_name"], $outputFile)) {
//Other processing stuffs
}
Dans xcode, Im la construction de la requête comme ceci:
NSMutableURLRequest* request = [[AFHTTPRequestSerializer serializer]
multipartFormRequestWithMethod:@"POST"
URLString:@"http://localhost/upload.php"
parameters:nil
constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
[formData appendPartWithFormData:data name:@"somefilename.ext"];
} error:nil];
Mais semble comme je l'ai fait de manière erronée, à droite?
Mise à JOUR
Im nouveau à AFNetworking et je veux comprendre comment il construit multiplart/form-data post comme ci-dessus. Il ressemble au code de l'absence de l'entrée du nom de "télécharger", donc ne sera pas en mesure de passer la première ligne de php script d'upload. J'ai lu le document de AFNetworking de GitHub, mais ils ne disent rien à propos de la construction d'un formulaire de données avec NSData qui est le cas ici.
vous souhaitez faire appel au service en utilisant afnetworking...?
Eh bien, en fait il n'est pas un service. Juste un simple téléchargement d'un script écrit en php & je veux juste savoir comment demander à ce que le script php à télécharger un NSData objet au lieu d'un fichier par AFNetworking 3.x
Eh bien, en fait il n'est pas un service. Juste un simple téléchargement d'un script écrit en php & je veux juste savoir comment demander à ce que le script php à télécharger un NSData objet au lieu d'un fichier par AFNetworking 3.x
OriginalL'auteur RyanB | 2016-01-22
Vous devez vous connecter pour publier un commentaire.
Bien, Dans AFNetworking 3.0 Vous pouvez faire comme cette façon pour le téléchargement multiforme partie des données,Cochez cette
[formData appendPartWithFormData:<#(nonnull NSData *)#> name:<#(nonnull NSString *)#>]
. Cette fonction ne me permet pas de passer le nom de l'entrée.le nom que vous devez passer le paramètre de
pouvez-vous vérifier mon problème concernant le fichier télécharger dans afnetwoking 3.0 stackoverflow.com/questions/39325058/...
Comment faisons-nous cela, mais avec un flux de fichier? Si le fichier est volumineux, vous ne voulez pas avoir à faire tout le fichier en mémoire.
vous avez besoin de demander le backend guy il du problème de backend gars
OriginalL'auteur Mayank Patel
AFNetworking doc concernant les multi-partie, les états que vous devez utiliser:
et ensuite utiliser le
NSURLSessionUploadTask
pour laresume
méthode (code complet dans le lien).Je ne pouvais pas obtenir que cela fonctionne avec le serveur je travaillais, au lieu de cela j'ai utilisé AFHTTPSessionManager:
OriginalL'auteur OhadM
Si vous avez un gros fichier, vous ne voudrez plus jamais le faire de cette façon, car il nécessite le chargement de la totalité du fichier en mémoire. Voici une façon de diffuser le fichier à partir du disque dans la requête HTTP afin que votre utilisation de la mémoire reste faible. Merci pour la réponse originale à cette question! Il fonctionne comme un charme.
OriginalL'auteur TheJeff