2010-10-09 2 views
0

J'essaie d'avoir un formulaire HTML poster un fichier à une méthode de service Web Asp. Net. Tout semble fonctionner mais il n'y a aucun formulaire ou fichiers sur l'objet de demande dans la méthode Web. des idées?formulaire de publication de poste à la méthode de service Web ne fonctionne pas

Formulaire Html

<form id="formPost" action="service/Post" enctype="multipart/form-data" method="post"> 
    Post File <input id="uploadfile" type=file /> 
    <input type=submit value="Post" /> 
</form> 

Service Web

[WebMethod] 
    public void Post() 
    {   
     // file collection of uploaded files in the http context 
     HttpFileCollection Files = this.Context.Request.Files; 

     // always 0 and no form either 
     if (Files.Count > 0) 
     {} 
    } 

Répondre

2

Vous ne pouvez pas poster à une méthode de service Web SOAP en utilisant le formulaire html. Lorsque vous soumettez le formulaire, les données sont codées à l'aide de multipart/form-data alors qu'un service Web attend une enveloppe SOAP et un type de contenu text/xml. Pour appeler le service Web, vous devez générer une classe proxy à partir du fichier WSDL et utiliser cette classe proxy pour appeler la méthode souhaitée.

+0

Y a-t-il un lien vers des exemples? – Kenoyer130

+0

Il y a [many] (http://www.google.com/#sclient=psy&q=asp.net+web+service+tutorial+consuming&aq=f&aqi=&aql=&oq=&gs_rfai=&pbx=1&fp=9f2370386c77b788) . En voici un [tutoriel] (http://articles.sitepoint.com/article/net-web-services-5-steps). Notez également que les services Web ASMX sont désormais considérés comme des technologies obsolètes et sont remplacés par WCF. –

+0

J'ai fini par utiliser un gestionnaire http comme meilleure solution. En outre, l'élément de formulaire de téléchargement de fichier ne fonctionne pas sans un attribut de nom. bizarre ... – Kenoyer130

Questions connexes