Pregunta

Creé un servicio WCF para aceptar un archivo y escribirlo en el disco.El front-end consta de una página con SWFUpload que maneja la carga en el lado del cliente.Aparentemente, SWFUpload publica los datos con un tipo de contenido de:multipart/form-datos.

Creo que esto está bien, pero en el lado del Servicio aparece un error.El error es "ProtocolException" esperando texto/xml.Probé diferentes codificaciones de mensajes en los enlaces pero nada parece funcionar.

¿Cómo puedo cargar este archivo usando multipart/form-data?

¿Fue útil?

Solución

@jdiaz,

@JasonS tiene razón, para cargar un archivo es necesario transferirlo como un flujo de bytes.Necesitas usar Transmisión WCF.Por ejemplo, sobre cómo cargar un archivo a través de WCF, consulte un artículo de http://kjellsj.blogspot.com

Otros consejos

Lo que quieres usar es probablemente MTOM, si quieres que sea estándar.Con esto, puede tener mensajes MIME de varias partes.

Luego debe leer el archivo como una secuencia e introducirlo en uno de los parámetros de la solicitud.

Puede ser que su servicio WCF esté dirigido a .NET Framework 3.5 y su IIS se esté ejecutando en .NET Framework 4.0.En este caso (no coincide el marco), debe modificar su servicio.

Creo que tendrás que transferir el archivo como una matriz de bytes a WCF.Deberá manejar la publicación desde SWFUpload y convertirla a una matriz de bytes antes de enviarla a su servicio.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top