Cargar files a través de HTTP falla en iOS 8.0.0 GM Safari

ACTUALIZAR:
Confirmado: esto se ha solucionado en la actualización de iOS 8.0.2 .

El uso de PUT / POST para upload files a través de HTTP parece atascarse en Enviar encabezados de request en Safari mobile en la versión iOS 8 GM.

Tengo un ejemplo aquí :

  • Abra un monitor HTTP en su escritorio y enrute su dispositivo iOS 8 a través de él.
  • Iniciar session
  • Agregar un file
  • Hit Upload
  • Se queda atascado en Inicialización (que está enviando encabezados de request)

Este es el caso incluso en http://m.facebook.com
– Intenta agregar una foto a tu estado y falla.

Esto solo ocurre cuando la request contiene un file. Esto es reproducible independientemente de que haya múltiples habilitados / deshabilitados en la input del file. Las cargas funcionan bien en Chrome en iOS 8.

¿Alguien más experimentó esto también? ¿Hay alguna manera de enviar exitosamente files a través de HTTP en iOS 8 Safari?

Este fue un error en iOS 8.0.0 y se corrigió en 8.0.2. El cuerpo del file no está incluido en la carga de la request, pero Content-Length se establece como si fuera.

Ver publicación en el blog Parece que las subidas de files están rotas en Safari en iOS 8 .

Actualización: Apple lanzó iOS 8.0.2 ayer y ha solucionado el error de carga.

La carga de files se rompe en iOS 8.0. Todos los files cargados en Safari mobile devuelven el tamaño 0 [1].

Esperemos que Apple solucione esto en la próxima versión. Parece que no afecta las aplicaciones web de la pantalla de inicio:

¡Las cargas de file están rotas! Cada carga de files no funciona, puede seleccionar un file o tomar una fotografía y después de eso, JavaScript no obtendrá ningún dato, así como también el server en una carga de POST a través de HTML o XMLHttpRequest upload. El problema no parece aplicarse a las aplicaciones web con pantalla de inicio.

Fuente: http://www.mobilexweb.com/blog/safari-ios8-iphone6-web-developers-designers

[1] http://blog.fineuploader.com/2014/09/10/ios8-presents-serious-issues-that-prevent-file-uploading/

Estamos viendo problemas similares en WordPress. Todas las cargas GM de iOS8 conducen a 408 (estado http, times de espera). Por extraño que parezca, iOS8b5 estaba llevando al error 500. Las cargas son peachy bajo 7.1. *.

https://core.trac.wordpress.org/ticket/29602#comment:17

De hecho, la carga de files funciona bien en iOS 8 (safari) si la image proviene de la captura de pantalla y no de la camera del iPhone. Por ejemplo, si toma una foto de su camera en el iPhone e intenta cargar el file a través del browser (tipo de input = file), enviará un dato vacío
src: "datos :,"

mientras que si envía la misma image a su correo electrónico y la descarga de su correo electrónico y la carga de nuevo funciona o si toma una foto con pantalla de disparo funciona como sigue src: "data: image / jpeg; base64, / 9j / 4AAQSkZJRgABAQAASABIAAD / 7QA4UGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAAA4QklNBCUAAAAAABDUHYzZjwCyBOmACZjs + EJ + / 8AAEQgGYATIAwEiAAIRAQMRAf / EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkK …. # … "

Cualquier idea o sugerencia, por favor, sepamos. Angluar JS se utiliza para la carga de files y NodeJS en el server. Saludos, Alan Mehio