Domanda

Ho creato un servizio WCF per accettare un file e scriverlo su disco.Il front-end è costituito da una pagina con SWFUpload che gestisce il caricamento sul lato client.Apparentemente, SWFUpload pubblica i dati con un tipo di contenuto di:multipart/form-data.

Direi che va bene, ma dal lato dell'assistenza ricevo un errore.L'errore è "ProtocolException" in attesa di testo/xml.Ho provato diverse codifiche dei messaggi nei collegamenti ma nulla sembra funzionare.

Come posso caricare questo file utilizzando multipart/form-data?

È stato utile?

Soluzione

@jdiaz,

@JasonS ha ragione, per caricare il file devi trasferirlo come flusso di byte.Devi usare Streaming WCF.Ad esempio su come caricare file tramite WCF vedere un articolo da http://kjellsj.blogspot.com

Altri suggerimenti

Quello che vuoi usare è probabilmente MTOM, se vuoi che sia standard.Usando questo, puoi avere messaggi MIME multiparts.

Devi quindi leggere il file come flusso e inserirlo in uno dei parametri della richiesta.

È possibile che il servizio WCF sia destinato a .NET Framework 3.5 e che il tuo IIS sia in esecuzione su .NET Framework 4.0.In questo caso (mancata corrispondenza del framework) è necessario modificare il servizio.

Credo che dovrai trasferire il file come array di byte in WCF.Dovrai gestire il post da SWFUpload e convertirlo in un array di byte prima di inviarlo al tuo servizio.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top