web-dev-qa-db-fra.com

Le téléchargement de fichiers via HTTP échoue sur iOS 8.0.0 GM Safari

MISE À JOUR:
Confirmé: cela a été corrigé dans la mise à jour iOS 8.0.2 .

L'utilisation de PUT/POST pour télécharger des fichiers via HTTP semble rester bloquée sur Envoi des en-têtes de demande sur Safari mobile sur iOS 8 GM build.

J'ai un exemple ici :

  • Ouvrez un moniteur HTTP sur votre bureau et acheminez votre appareil iOS 8 à travers celui-ci
  • S'identifier
  • Ajouter un fichier
  • Hit Upload
  • Il se bloque lors de l'initialisation (qui envoie des en-têtes de demande)

C'est le cas même sur http://m.facebook.com
- Essayez d'ajouter une photo à votre statut et cela échoue.

Ceci seulement se produit lorsque la demande contient un fichier. Ceci est reproductible sans avoir multiple activé/désactivé dans l'entrée de fichier. Les téléchargements fonctionnent correctement sur Chrome sur iOS 8.

Quelqu'un d'autre a-t-il vécu cela aussi? Existe-t-il un moyen d'envoyer avec succès des fichiers via HTTP sur iOS 8 Safari?

43
satJ

C'était un bogue dans iOS 8.0.0 et a été corrigé dans 8.0.2. Le corps du fichier n'est pas inclus dans la charge utile de la demande, mais Content-Length est défini comme s'il l'était.

Voir l'article de blog les téléchargements de fichiers semblent être interrompus dans Safari sur iOS 8.

22
Dmitry Mukhin

Mise à jour: Apple a publié iOS 8.0.2 hier et a corrigé le bogue de téléchargement.

Le téléchargement de fichiers est interrompu dans iOS 8.0. Tous les fichiers téléchargés dans Mobile Safari renvoient une taille 0 [1].

Espérons que cela soit corrigé par Apple dans la prochaine version. Il semble que cela n'affecte pas les webapps de l'écran d'accueil:

Les téléchargements de fichiers sont rompus !! Chaque téléchargement de fichier ne fonctionne pas, vous pouvez sélectionner un fichier ou prendre une photo et après cela, JavaScript n'obtiendra aucune donnée, ainsi que le serveur sur un téléchargement POST via HTML ou XMLHttpRequest. Le problème ne semble pas s'appliquer aux webapps de l'écran d'accueil.

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

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

10
owdco

Nous voyons des problèmes similaires dans WordPress. Tous les iOS8 GM mènent à 408 (état http, délais). Curieusement, iOS8b5 entraînait l'erreur-500. Les téléchargements sont peachy sous 7.1. *.

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

6
stephdau

En fait, le téléchargement de fichiers fonctionne correctement sur IOS 8 (safari) si l'image provient d'une capture d'écran et non de l'appareil photo de l'iphone. Par exemple, si vous prenez une photo de votre appareil photo sur l'iphone et essayez pour télécharger le fichier via le navigateur (type d'entrée = fichier), il enverra une donnée vide
src: "data :,"

alors que si vous envoyez la même image à votre e-mail et la téléchargez à partir de votre e-mail et la téléchargez à nouveau, cela fonctionne ou si vous prenez une photo d'écran, cela fonctionne comme ci-dessous src: "data: image/jpeg; base64,/9j/4AAQSkZJRgABAQAASABIAAD/7QA4UGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAAAAA4QklNBCUAAAAAABDUHYzZjwCyBOmACZjs + EJ +/8AAEQgGYATIAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Toute idée ou indice, veuillez nous le faire savoir. Angluar JS est utilisé pour le téléchargement de fichiers et NodeJS sur le serveur Cordialement, Alan Mehio

0
Alan M