Pregunta

Estoy guardando un archivo .doc en una base de datos de SQL Server como varbinary(max) Usando el código C# a continuación.

Puedo guardar el archivo, pero cuando recupero el archivo y quiero mostrar el contenido en la página web, mi código está descargando el archivo y estoy en gran confusión sobre cómo manejarlo.

La funcionalidad exacta que estoy buscando es la forma naukri.com Sube el currículum y le da una vista previa de él. Mi código es:

byte[] fileContent = new byte[fuResume.PostedFile.ContentLength];
fuResume.PostedFile.InputStream.Read(fileContent, 0, fuResume.PostedFile.ContentLength);
//lblAppliedMessage.Text = ByteArrayToString(fileContent);

//lblAppliedMessage.Text = BitConverter.ToString(fileContent).Replace("-", string.Empty);
byte[] btYourDoc;
btYourDoc = fileContent;

Response.ContentType = "application/ms-word";
Response.AddHeader("Content-Disposition", "inline;filename=yourfilename.doc");
Response.OutputStream.Write(btYourDoc, 0, fileContent.Length);

Response.BinaryWrite(btYourDoc);

Response.End();
¿Fue útil?

Solución

Squillman tiene razón. Hay toneladas de componentes de terceros que realizan Word -> HTML Conversion.

Otra opción, que puede ser más apropiada para un sitio de Intranet, es instalar Word en el servidor.

Un ejemplo de esto está aquí:

http://www.c-starpcorner.com/uploadfile/munnamax/wordtohtml03252007065157am/wordtohtml.aspx

Efectivamente, se abre el Doc, se guarda como HTML, luego las solicitudes posteriores pueden recuperar la versión HTML del archivo para la vista previa.

Sin embargo, el lado del servidor de automatización de Office tiene muchas dificultades, ver http://support.microsoft.com/kb/257757 para más información.

Otros consejos

La razón por la que se descarga su archivo en lugar de mostrar es porque está configurando el tipo de contenido en Application/MS-Word. Esto le dice a un navegador que descargue el archivo (no pueden manejar de manera nativa los archivos de ese tipo para que deleguen a una aplicación externa).

Deberá tener un código que sepa cómo interpretar el formato de MS Word y convertirlo en algo visible en un navegador (HTML, algún tipo de complemento que lo haga por usted, etc.). Guardar el documento de Word RAW y luego enviarlo al cliente en el mismo estado es básicamente hacer que descarguen un archivo de Word.

Aquí hay uno bueno en el que el resultado final depende del usuario si descargar o ver el archivo aquí está el enlace Pero @Squillman tiene razón al poner los encabezados de respuesta que le estás diciendo que descargue.

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