Pregunta

Estoy tratando de entregar documentos Excel que he almacenado en una base de datos a través de una fuente RSS WCF (el usuario hace clic en un enlace en la fuente y envía un documento Excel específico).

Los archivos de Excel no se encuentran en un directorio en ningún lugar (en cuyo caso podría dar a cada usuario una URL estática).

Entonces, lo que me gustaría hacer es tener una URL generada dinámicamente en la fuente RSS (que indicaría la ID del documento). Cuando el usuario hace clic en el URI, va a un servicio web WCF que deserializa el documento de Excel de la base de datos y lo envía al usuario (obtendrían el cuadro de diálogo estándar Abrir / Guardar documento de Excel).

Desafortunadamente, parece que no puedo hacer que el servicio web envíe un documento que el cliente entiende que es un documento de Excel. Calculo que necesito hacer algo con el punto final o alguna configuración MIME en IIS o algo completamente diferente, pero no he descubierto qué es eso.

Nota, estoy usando WCF alojado en IIS 7.0.

¡Muchas gracias de antemano!

¿Fue útil?

Solución

No proporciona demasiada información específica, pero puede ser que no haya configurado el tipo MIME. No estoy seguro de lo que ya ha hecho, pero puede hacer lo que quiera con el WCF Modelo de programación de descanso .

Los puntos clave son:

  • devolver una transmisión en su interfaz
  • establecer el tipo MIME: WebOperationContext.Current.OutgoingResponse.ContentType = " application / vnd.ms-excel " ;;
  • use WebHttpBinding y WebHttpBehavior

MSDN tiene un ejemplo completo que devuelve un JPEG que debería haga exactamente lo que desea (excepto cambiar el tipo MIME JPEG a un tipo MIME Excel como se indicó anteriormente).

Buena suerte.

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