w3schools subir servidor por guardar formdata enviar con archivos archivo javascript file-upload safari html5-video opera

servidor - subir archivos javascript



¿Cómo puedo verificar si el navegador admite la carga de archivos HTML5(objeto FormData)? (7)

Debe verificar si el navegador es compatible con la API de archivos HTML5. Lo hago comprobando si la función FileReader está configurada; si no está configurada, significa que el navegador no admitirá la API del archivo.

// Check if window.fileReader exists to make sure the browser supports file uploads if (typeof(window.FileReader) == ''undefined'') { alert''Browser does not support HTML5 file uploads!''); }

¿Cómo puedo verificar si el navegador admite la carga de archivos HTML5 (objeto FormData)?

var fd = new FormData();

Siguiendo la respuesta de esta post , pero el código no arroja la respuesta correcta sobre el navegador,

window.onload = function() { if (!!window.FileReader) { alert(''supported''); } else { alert(''not supported''); } } Firefox - supported Chrome - supported Opera - supported Safari - not supported IE9 - not supported

Pero el soporte de navegador correcto debería ser,

Firefox - supported Chrome - supported Opera - not supported Safari - supported IE9 - not supported

He probado la carga del archivo html 5 en Opera y no está funcionando con seguridad.

Estoy seguro de que Safari admite la carga de archivos html 5.


Desde http://blog.new-bamboo.co.uk/2010/7/30/html5-powered-ajax-file-uploads

function supportAjaxUploadProgressEvents() { var xhr = new XMLHttpRequest(); return !! (xhr && (''upload'' in xhr) && (''onprogress'' in xhr.upload)); };

Como FormData, la capacidad de enviar () uno, y la propiedad de carga (y su evento en progreso) son parte del nivel 2 de XMLHttpRequest, puede probar para .upload para ver si tiene un nivel 2. No lo hago tener una Mac a mano, pero la función (tristemente, pero correctamente) devuelve falso para Opera 11.50 (y verdadero para Firefox 4).


En Safari 5.1.7, Firefox <6, los datos de formulario de Opera <12.14 están soportados pero tienen errores.

  • Safari devolverá el tamaño de archivo 0

    Opera no es compatible con el método de adición de datos de formulario

    Firefox <6 no funciona correctamente


Esta es la única línea que uso para verificar si el navegador admite FormData y cargar el progreso, en jQuery:

var xhr2 = !! ( window.FormData && ("upload" in ($.ajaxSettings.xhr()) );


Pruebe if( window.FormData === undefined ) o if( window.FormData !== undefined ) .