2010-11-11 15 views
5

Un cliente tiene un boletín en PDF que pesa 1.63 MB, por lo que no es enorme.La solicitud del navegador PDF entra en congelación

Enviamos un correo electrónico explosión con un enlace al pdf. O bien, los usuarios encuentran un enlace en la página de inicio del sitio. No importa.

El problema es que cuando un usuario solicita el PDF, el navegador a veces entra en una congelación. Es decir, necesita usar el Administrador de tareas para matar la instancia del navegador.

puede probar el pdf aquí: Newsletter

Lo que lo hace difícil es que no siempre fracasan. El siguiente es un resumen de dónde estoy y lo que he intentado.

NAVEGADORES

El navegador más probable a fallar con el PDF es Google Chrome. Sin embargo, IE también a veces se congelará.

ERROR

Google Chrome veces devuelve el siguiente error (después de una larga espera):

"Hubo un error al procesar la página Un archivo de E/S de error se ha producido la conexión de archivo .. caducado."

IE simplemente se congela hasta la muerte sin un gemido.

ACRÓBATA VERSIÓN

El archivo se creó originalmente en Adobe InDesign CS3, mediante un estudio de diseño. Acabamos de obtener el pdf. Intenté volver a guardar el archivo con Acrobat 7 en caso de que hubiera algún problema de compatibilidad. Esto parecía solucionar el problema en una máquina, pero no en otros ...

GOOGLE RESULTADOS

googlear muestra que hay algunos problemas con Chrome y archivos PDF. Todavía tengo que encontrar una solución. Esto todavía no explica por qué IE falla a veces.

OTRAS MEDIDAS

puedo borrar la memoria caché para cada navegador entre las pruebas. Por lo tanto, no puede ser solo una descarga destruida.

ABRIR EL ARCHIVO CON Acrobat Pro

No hay problema al abrir el archivo de esta manera.

SERVIDOR WEB

El servidor web de personas han probado el archivo y no han tenido problemas. No pueden encontrar problemas en los registros, lo que indica que el archivo se descarga y que los problemas ocurren dentro del navegador.

AYUDA!

El boletín debe haber ido hace dos días, pero lo estamos manteniendo al intentar resolver este problema. La mala noticia es que me han quedado sin ideas.


EDIT:

Solución:

he seguido la sugerencia de pestaa (véase la respuesta más abajo), que proporciona una solución que funciona. No es óptimo para el tipo de usuario (caridad médica para Encefalitis, que puede dejar sufriendo lesiones cerebrales), pero funciona. Es decir, adjuntar la siguiente cabecera http:

Content-Disposition: attachment 

Para hacer esto, he creado una página que eso tiene un botón con el siguiente código:

protected void downloadButton_Click(object sender, EventArgs e) 
    { 
     string fileName = "newsletter49.pdf"; 

     string filePath = Server.MapPath("~/images/ipdf/mailings/" + fileName); 
     Response.Clear(); 

     Response.AppendHeader("content-disposition", "attachment; filename=" +  fileName); 
     Response.ContentType = "application/octet-stream"; 
     Response.WriteFile(filePath); 
     Response.Flush(); 
     Response.End(); 
    } 

El HTML de la página (incluye botón de descargar Acrobat Reader como exigen las normas del W3C):

<h2> 
     Our Autumn/Winter 2010 Newsletter is now available</h2> 
    <p> 
     Please click on the button below:</p> 
    <asp:Button ID="downloadButton" runat="server" OnClick="downloadButton_Click" Text="Download Newsletter" /> 
    <div style="margin-top: 10px; border: 1px solid #ccc; background: #ebebeb; padding: 6px;"> 
     <p> 
      If you do not have Adobe Acrobat Reader, you will not be able to read the Newsletter. 
      To get Acrobat Reader, click the button below and download it from Adobe's website:</p> 
     <a title="This link opens in a new window to allow you to download Adobe Reader!" 
      href="http://get.adobe.com/uk/reader" target="_blank"> 
      <img alt="Get Adobe Reader for viewing PDF files" src="../Images/SharedImages/get_adobe_reader.gif" 
       style="border: none;" /></a> 
    </div> 

estoy esperando para ver si alguien puede averiguar lo que podría ser mal con el pdf. De lo contrario, pestaa obtendrá la galleta.


EDIT 2:

He aceptado la sugerencia de pestaa como el único camino fiable. No es ideal, dado que se trata de una organización benéfica médica para un síndrome que puede producir daño cerebral, por lo que los pasos adicionales de descarga y luego la apertura del pdf son onerosos. Pero no es bueno si el navegador falla en ellos.

Si alguien oye que se resuelve este problema, deje un comentario.

Respuesta

6

Esto no puede ser precisamente lo que estás buscando, pero si la descarga del PDF es suficiente o bien, esta es la cabecera HTTP necesita adjuntar al enviar el contenido:

Content-Disposition: attachment 

Esto obliga el navegador para abrir el cuadro de diálogo abrir/guardar, y probablemente resuelva el caso de error de IE.

+0

+1 ¿quién quiere leer un PDF, todo encajado en un navegador web de todos modos? El plugin de PDF, con su incómoda interfaz de usuario e innumerables agujeros de seguridad, es lo peor que se puede encontrar en la web desde ''. – bobince

+0

+1. Incluso si se encuentra la causa real, esta podría ser una buena idea. Cuando su conexión a Internet es lenta, abrir un PDF más grande directamente en Firefox tiende a bloquear el navegador completo durante un minuto o más, sin importar si su PDF está bien o no. –

+0

Lamentablemente, la gran mayoría de los miembros no técnicos de la raza humana lo hacen ... – awrigley

0

Mi problema fue con el nuevo Mozilla Fire Fox, Safari e IE 9. Lo accioné abriendo Adobe Reader, Edit, Preferences, Desmarque el modo de protección. Hubo un problema de compatibilidad con Norton Anti Virus. Espero que esto ayude a alguien.

Cuestiones relacionadas