2010-07-19 3 views
2

comme je l'ai lu dans le ASI Documentation, son writen: "Les données sont enregistrées dans le format" application/x-www-form-urlencoded ", ou" multipart/form-data "quand télécharger des données binaires ou des fichiers. "iPhone ASIFormDataRequest avec multipart/form-data

C'est exactement mon problème. J'envoie juste un String à un serveur, mais le serveur accepte simplement 'multipart/form-data' et comme je viens d'envoyer un String, le Framework ASI crée une requête POST avec le format 'application/x-www-form-urlencoded' automatiquement, car je n'envoie aucune donnée ou fichier binaire. Résultat: le serveur n'accepte pas ma requête POST.

Comment pourrais-je résoudre ce problème?

Merci d'avance pour votre aide.

Répondre

3

Vous pouvez définir le format manuellement:

[request setPostFormat:ASIMultipartFormDataPostFormat]; 
0

Je viens de résoudre ce problème d'une manière très laid: J'ai changé la mise en œuvre ASIFormDataRequest en ligne 200:

if ([self postFormat] == ASIURLEncodedPostFormat) { 
    [self buildMultipartFormDataPostBody]; //NEW LINE 
    //[self buildURLEncodedPostBody]; ORIGINAL LINE 
} else { 
    [self buildMultipartFormDataPostBody]; 
} 

Je serais heureux d'entendre toute autre suggestion!

Questions connexes