2011-01-28 18 views
6

Tengo algunos archivos binarios en la carpeta de aplicaciones web Tomcat, que deseo que el usuario descargue.GWT: ¿Por qué no descargará Chrome & IE, donde Firefox lo hará?

que tienen código siguiente: Window.open(GWT.getHostPageBaseURL()+result, "_blank", "");

he comprobado con GWT.log camino, y es correcto - lo que realmente apunta a la carpeta con cierto archivo.

Firefox: Descargas cada archivo como se esperaba (ya sea la imagen se abre/xml en una nueva pestaña o guardar los mensajes de diálogo)

Chrome: parece ser la descarga solamente .zip por lo que he intentado. Otros son ignorados, no pasa nada.

IE8: Abre la imagen/XML en la nueva ventana de IE. Otros se ignoran (por ejemplo, el ZIP parpadea en una nueva ventana pero no indicará el cuadro de diálogo para guardarlo)

¿Qué estoy haciendo mal? Gracias

+0

+1 Tengo el mismo dolor en el proyecto en el que estoy trabajando. – Nilesh

Respuesta

2

De acuerdo con this discussion de GWT-group problema con Chrome puede ser que bloquea ventanas emergentes generadas por javascript (o devoluciones de llamada en GWT), pero permite abrir una nueva ventana si es resultado de la interacción del usuario (o haga clic en GWT).

4

Sugiero utilizar una herramienta como Fiddler para diagnosticar este problema mediante el examen de las solicitudes HTTP y las respuestas con más detalle.

Mi corazonada es que se convertirá en un problema de tipo mimo, pero es difícil decirlo con certeza sin ver más de lo que está sucediendo.

0

Sólo se encontró con un caso muy similar hace dos días con IIS. La causa raíz era una configuración de IE donde se deshabilitaba la solicitud automática para descargar archivos. (Firefox funcionó bien)

Aunque esto fue un trabajo para IE, todavía no he encontrado una buena solución permanente. Sé que es posible porque tenemos una aplicación Tomcat, que no tiene este problema con IE.

+0

Roba algunos códigos a continuación: D – Xorty

+0

Bueno, el código .NET parece realmente diferente al código de Wicket en Tomcat. Mismo tipo de mina, mismo tipo de archivo, pero diferentes resultados del navegador, por lo que sucede algo diferente. Si encuentro más que una solución, actualizaré esta respuesta. – jzd

0

¿Está el servidor ejecutando SSL?

IE tiene algunas restricciones extrañas en la descarga de contenido que se transfiere a aplicaciones de terceros (zip, pdf, doc, xls, etc.). Hemos recurrido al uso de una combinación de excluir encabezados específicos de no-caché en nuestras respuestas y desmarcar el "No guardar páginas encriptadas en el disco" en IE. Microsoft tiene la impresión de que esta es una "característica". Estos son algunos enlaces relevantes de discutir el tema:

Microsoft KB: 323308 y 815313

stackoverflow: 1262147

Windows Live: Blog

Atlassian: Jira issue

+0

No se está ejecutando SSL :( – Xorty

2

recientemente he construido algo para nuestra organización más como un cache-buster para usar con IE que cualquier otra cosa.

Si se pudiera comprobar su script de salida tiene el siguiente en él, en algún lugar al menos: -

response.setHeader("Pragma", "public"); 
response.setHeader("Cache-Control", "max-age=0"); 
response.setHeader("Content-Disposition", "attachment; filename=\"" + yourfilenamehere + "\""); 

Esperamos que este sea de alguna ayuda de todos modos. El aspecto de la disposición del contenido parecía ser el que escamoteaba IE, para ser justo, pero los de caché son solo prácticas en mi opinión cuando extraigo un archivo del disco.

¡Buena suerte con tu solución!

+0

Oh ... me acabo de dar cuenta de que estás extrayendo estos archivos directamente como archivos ... hmmmmmmmmm ... – BizNuge

+0

Acabo de probar esto en TC6 corriendo en Win 7 y funcionó en IE8 , FF3.6 y Chrome (v?). En los tres estaba probando un archivo .psd ya que pensé que esto no sería interpretado por el navegador de ninguna manera. Zip funcionó en todos los navegadores exactamente de la misma manera sin embargo, ¿qué versiones de todo está ejecutando Xorty? – BizNuge

+0

tal vez eche un vistazo en su directorio tomcat/conf y vea si tiene los listados de tipos de mimet que vienen pre-empaquetados con la instalación. Acabo de verificar y el tipo de archivo .psd entró como un mimetype predeterminado en tomcat/conf/web.xml de al menos la versión 4.1 de tomcat, pero antes de esto no estoy seguro, por lo que otros mimos que puede estar intentando podrían faltar en la configuración. Lamento enviar spam a la publicación, pero Tengo que dejar el trabajo bastante pronto, así que quería ser tan conciso e como sea posible con lo que ya sé. ;) – BizNuge

Cuestiones relacionadas