2012-02-14 2 views
0

Je suis en train de télécharger des images sur un serveur Django à l'aide de la méthode standard Content-Type multipart/form-data et de NSURLConnection. L'image est téléchargée correctement sans problème, mais je ne reçois pas la simple réponse JSON qui doit être renvoyée. Sur l'iPhoneAucune réponse de l'image envoyée POST

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData*)data 

est jamais appelé, même si la demande se termine par une HTTP 200.

J'ai fini par changer le code du serveur pour revenir immédiatement quelque chose comme:

{ success: 1 } 

mais le le téléphone ne le récupère jamais après le téléchargement. Si je supprime simplement les données d'image du POST, il semble que j'obtiens le JSON avec succès. Je suppose que le Multipart/form-data Content-Type que le téléphone envoie empêche toute sorte de réponse? Comment puis-je télécharger l'image et attendre une réponse? J'ai trouvé étrange que ce comportement de "données de non-réponse" apparaisse sur un serveur https externe, mais pas sur un serveur de développement local, les deux utilisant le même code.

Répondre

0

Essayez de consigner la sortie. Je ne sais pas quelle bibliothèque vous pourriez utiliser. Je suggère SBJSON si vous êtes encore assez tôt dans votre projet.

Si vous décidez donc il suffit d'ajouter cette ligne à votre JSON POST

[json setDebugOutput = TRUE] 

Il vous donnera une sortie détaillée de ce qui se produit en atteignant le serveur. Pêchez un peu autour de la bibliothèque que vous utilisez, elle devrait certainement avoir une méthode de sortie de débogage.