2009-05-13 19 views
17

he descubierto un problema raro en el tipo MIME del archivo zip cuando trabajé en a Symfony application.tipo MIME para el archivo zip en Google Chrome

De acuerdo con w3school, el tipo de mime para el archivo zip es application/zip. Esto es lo que creo, también.

Pero cuando cargo un archivo zip en mi aplicación Symfony con IE, el tipo mime de ese archivo zip es application/x-zip-compressed. Cuando cargo un archivo zip en Firefox, el tipo de mime de ese archivo zip es application/octet-stream.

Ninguno de ellos es application/zip como me gustaría creer.

El comportamiento extraño de todo, es Google Chrome. Cuando cargo un archivo zip en Google Chrome, no puedo determinar el tipo de mime correcto para él. A pesar de que am bastante seguro de que es no

application/zip 
application/x-zip 
application/octet-stream 
application/x-zip-compressed 

el tipo MIME para el archivo zip en Google Chrome es una cadena vacía, como descubrí por el dumping a cabo el objeto sfValidatorFile regresó. Tenga en cuenta que sfValidatorFile.type es "" para el archivo zip.

Pero el objeto sfValidatorFile.type devuelto para un archivo jpeg es jpeg.

Me parece que hay un error en cualquiera de Symfony o Google Chrome

información Futher: Parece que Gmail interpreta tipo mime del archivo zip como application/zip en Google Chrome. Éste es el comportamiento correcto. Parece confirmar que es el error de Symfony.

+0

¿Se puede establecer un punto de interrupción en algún lugar y leer el tipo MIME de la solicitud? –

+0

Eso sería una buena idea – Graviton

Respuesta

24

A partir de ahora, el tipo MIME de un archivo zip es application/octet-stream en Google Chrome. :)

+0

¿Podemos modificar el tipo MIME de octet-stream a zip ..? ¿hay alguna configuración en cromo o código en la aplicación que podamos usar ...? – Praditha

+1

Parece que depende del sistema operativo, Chrome en Mac devuelve aplicación/zip, en win7 application/octet-stream y en win8 application/x-zip-compressed – sstauross

+0

Chrome 51.0.2704.103 en mi computadora portátil con Windows 10 devuelve una cadena vacía. .... – Arthur

0

Me parece que hay un error en Symfony.

Un billete se ha abierto en here.

3

Este es el error de Google Chrome no Symfony. Tengo el mismo problema con el mimo ZIP de Google Chrome.

tengo mi propia aplicación escrita en PHP.

Cuando escribe echo $_FILES['yournameattr']['type'];, devuelve cadena vacía cuando carga un archivo zip, pero cuando carga un archivo gif o jpeg, devuelve image/jpeg o image/gif.

que tienen Google Chrome 3.0.195.6 versión (beta).

Aunque si necesita una solución rápida, puede utilizar preg_match para comprobar la extensión del archivo (zip o no).

if (preg_match('/(.*)\.zip/',$_FILES['yournameattr']['name'])) {echo 'This is zip.';} 
+1

¿Informó del problema a Google Chrome? – Graviton

+0

El campo de nombre en la matriz de archivos lo pasa el cliente y solo es válido en la medida en que el cliente le haya enviado un archivo con la extensión correcta. En otras palabras, no es confiable. – Matthew

Cuestiones relacionadas