J'essaie de poster une image d'une application iPhone à un service Web .NET et je cours dans cette erreur. J'ai déjà mis à jour mon web.config selon Cet article de KB et je Peut réussir à poster sur des méthodes qui prennent des chaînes en tant que paramètres. Mon problème tente de poster des données avec une image. J'ai essayé de poster de cette façon et de cette façon , mais les deux façons que je reste avec la même erreur:
System.InvalidoperationException: Le format de la demande n'est pas valide: Multipart / Form-Data; Charset = UTF-8; frontière = 0xkhtmlverary. à System.Web.Services.protocols.httpServerProtocol.ReadParamètres ()
à System.Web.Services.protocols.WebserviceHandler.coreProcessRequest () P> blockQuote>Voici ma signature WebService: p>
xxx pré> .. et voici ma dernière tentative: p>
- (void)sendImageToServer:(NSURL *)serivceURL withUserToken:(NSString *)usertoken { NSData *imageData = UIImageJPEGRepresentation(self.selectedImage, 1.0f); ASIFormDataRequest *request = [[[ASIFormDataRequest alloc] initWithURL:serviceURL] autorelease]; [request setPostValue:usertoken forKey:@"usertoken"]; [request setData:imageData forKey:@"image"]; [request setDelegate:self]; [request startAsynchronous]; NSLog(@"We set the request out!"); }
3 Réponses :
Vous essayez de lire des données binaires comme paramètres d'entrée. Vous devez plutôt lire les paramètres du contexte.Request. En d'autres termes, supprimez Usertank and Image comme paramètres de la demande. Usertank devrait être accessible à la place par contexte.Request ["Usertanken"] et l'image doit être disponible via context.Request.postedfiles ["Image"]: http: //www.rahulsingla .Com / Blog / 2010/07 / EXT-NET-AJAX-FILE-UTILISATION-UTILISER-WEB-Service P>
J'ai gagné cela pour fonctionner en déplaçant ces lignes dans web.config: Ils sont placés dans le bas de la
Je suis relativement sûr que ce n'est pas mon problème, car toute autre demande à tous les autres services Web de mon application fonctionne bien ... Donc, alors que je suis content que cela résolvait votre problème, cela ne répond pas réellement à la question ou explique pourquoi Le problème s'est produit en premier lieu.
Merci R_HONEY,
Quelque code supplémentaire p>