Me gustaría detectar el tipo MIME de un archivo en el lado del cliente de mi aplicación usando jQuery o JavaScript. ¿Hay alguna forma de hacer esto? Gracias.jQuery o JavaScript: obtenga el tipo MIME del archivo de cliente
Respuesta
Puede usar AJAX, realizar una solicitud HEAD e inspeccionar los encabezados de respuesta para el encabezado Content-type
. Pero eso solo funciona si obtienes un archivo de un servidor HTTP.
para obtener el tipo MIME de un archivo elegido con un selector de archivos HTML, sin presentar nada, trate de:
document.getElementById('fileChooserID').files[0].type // e.g. image/png
Ejemplo
Trate de elegir una imagen, verifique el tipo MIME e intente enviarlo. Luego prueba con otra cosa que no sea una imagen.
La única forma de detectar detectar un tipo mime es analizar el archivo en el lado del servidor, confirmar que es el tipo que el usuario dice que es, o que se ajusta a una lista de tipos permitidos. Aspectos a tener en cuenta:
1 - JavaScript tiene acceso limitado al sistema de archivos local, y con buena razón.
2 - No puede confiar en un tipo de mime que se haya recibido de un navegador. No necesariamente coincidirá con el tipo de mimo del archivo enviado.
3 - En una situación donde el usuario puede cargar archivos que se ajustan a una 'lista blanca' de tipos permitidos, la validación es probablemente necesaria, considerando que la aplicación puede tener que hacer algo con el archivo más allá de almacenarlos. que al menos involucraría analizar sus encabezados para información como longitud de ejecución (para un video) número de versión (para un documento de Word) y así sucesivamente.
Eso es muy cierto. Un usuario semi-inteligente que quiera engañar al servidor podría falsificar el tipo MIME.El servidor siempre debe verificar dos veces el tipo de archivo a través de la magia. –
+1 por 'magia': D – karim79
la idea NO ES confiar en el navegador ... la idea es realizar estas validaciones en el lado servidor pero, qué cosa útil si antes de enviar un archivo de 20 MB al navegador y luego ser rechazado debido a una regla en el servidor. ... por lo tanto, es una buena idea "verificar previamente" si este archivo "es un candidato" para ser cargado, la validación final se realizará en el servidor.
- 1. Javascript tipo MIME
- 2. Obtener el tipo MIME del nombre de archivo en C
- 3. SQL: ¿Guardar tipo MIME o extensión?
- 4. REST - respuesta del servicio web - tipo mime?
- 5. tipo MIME de la respuesta
- 6. ¿Puede JavaScript establecer el tipo de mime en window.open
- 7. IE afirma no reconocer el texto/javascript MIME tipo
- 8. PHP obtener archivo remoto mime-tipo
- 9. Lanzando un intento para el tipo de archivo y MIME?
- 10. tipo MIME para el archivo zip en Google Chrome
- 11. ¿Cómo saber cuál es el tipo MIME según el archivo?
- 12. PowerShell: ¿es posible determinar el tipo MIME de un archivo?
- 13. ¿Cómo obtener el tipo MIME de un archivo en Qt?
- 14. ¿Cuál es el tipo mime de un archivo wsdl?
- 15. tipo de mime YAML?
- 16. Finfo_file el archivo cargado para determinar tipo MIME
- 17. el tipo MIME correcto para JSON?
- 18. biblioteca de Java para encontrar el tipo de mime desde el contenido del archivo
- 19. Obtención de tipo MIME en PHP sin EXTENSIÓN DE ARCHIVO
- 20. Subir xls o xlsx archivos con error CodeIgniter, tipo MIME
- 21. Cómo crear un archivo de texto localmente en el lado del cliente usando JavaScript/JQuery
- 22. Declaración del tipo de mime para html-email
- 23. archivo Rendering con el tipo MIME en los carriles
- 24. leer el archivo txt a través del cliente javascript
- 25. Escribir archivo local con jQuery o Javascript
- 26. ajuste del tipo de MIME de documento de Excel
- 27. ¿tipo MIME duplicado "text/html"?
- 28. Rieles: obtenga la dirección IP del cliente
- 29. ¿Cómo usar el tipo CSV MIME?
- 30. La publicación HTTP de varias partes de Android no envía el tipo MIME del archivo
Pensé que AJAX solo funciona para archivos en un servidor – SZH
Entonces, ¿quiere decir: permitir al usuario elegir un archivo en un selector de archivos, pero, sin enviar nada, determinar el tipo MIME? Editaré mi respuesta para permitir eso. –
Lo siento, supongo que no expliqué lo suficiente. El usuario ingresa una url a una imagen que comienza con file: //, y la imagen se muestra en la página usando una etiqueta
. Quiero saber el tipo MIME para asegurarme de que sea una imagen válida. –
SZH