IE 10 prend en charge la SCRO. Amazon S3 prend en charge la SCRO.
Nous avons directe-de-site-de-S3 téléchargement de travail dans tous les navigateurs, mais IE 10 (pas la peine avec IE 9-). Il fonctionne comme ceci:
L'utilisateur sélectionne un fichier (glisser-déposer ou chercher à partir d'un fichier d'entrée)
(La POSTE), Nous avons à "signer" la demande avant qu'il aille à S3 (
$.post('/static/sign_asset', { ... }
) qui a un rappel que les feux parfaitement tout au long de la journée.(POST) Nous pouvons alors faire le XHR S3 avec le fichier de données et les données à partir de la signature et de la ces.
var xhr = new XMLHttpRequest(); // etc var fd = new FormData(); // etc xhr.open('POST', url, true); xhr.envoyer(fd);
Le téléchargement de fichiers, tout fonctionne parfaitement dans tous les navigateurs, sauf...
Les problèmes de démarrage dans internet explorer 10:
Origine null ne trouve pas dans Access-Control-Allow-Origin-tête. et XMLHttpRequest: Réseau d'Erreur 0x80070005, l'Accès est refusé. Pas d'autres navigateurs sont montrant cette après nous avons mis en
response.headers["Access-Control-Allow-Origin"] = "*"
dans le contrôleur qui envoie la réponse. Même quand nous avons eu ce mal, Chrome serait montrer cette erreur, mais la demande est encore d'aller à travers.Le fichier est téléchargé vers S3, en dépit de cette erreur. Amazon S3 est-il de l' 303 rediriger chose - qui est de notre vérification que le fichier a été chargé avec succès.
(GET) C'est une redirection vers un SCRO requête Ajax, donc le "rediriger" ne pas actualiser la page qu'il vient juste de retour et frappe nos serveurs. IE 10 fait cette demande avec une Contenu-Type d'
multipart/form-data; boundary=---------------------------7dd2ce2201da
C'est ce que provoque les Rails d'un bug sur.
Started GET "/static/signed/asset/tsabat/83ee6840-7158-0130-c19b-28cfe912f6ff?bucket=s.cdpn.io&key=5%2Fauthor-tim_2.jpg&etag=%2260fb3876d516553ff6f3a018066b3250%22" for 127.0.0.1 at
2013-03-17 10:46:36 -0700
EOFError - bad content body:
(gem) rack-1.4.5/lib/rack/multipart/parser.rb:74:in `block in Rack::Multipart::Parser#fast_forward_to_first_boundary' (gem) rack-1.4.5/lib/rack/multipart/parser.rb:72:in `Rack::Multipart::Parser#fast_forward_to_first_boundary'
(gem) rack-1.4.5/lib/rack/multipart/parser.rb:72:in `Rack::Multipart::Parser#parse'
(gem) rack-1.4.5/lib/rack/multipart/parser.rb:15:in `Rack::Multipart.parse_multipart'
(gem) rack-1.4.5/lib/rack/multipart.rb:25:in `ActionDispatch::Request#parse_multipart'
(gem) rack-1.4.5/lib/rack/request.rb:336:in `ActionDispatch::Request#POST'
(gem) rack-1.4.5/lib/rack/request.rb:201:in `ActionDispatch::Request#POST'
Safari ne parvient pas trop (6.0.2)
Safari renvoie un code d'état 200 et Rails de ne pas paniquer à propos de la redirection, mais le xhr.l'état est mauvais. xhr.readyState == 4, mais xhr.status == 0. Nous étions à la recherche pour 200 à faire en sorte que ça fonctionne OK. C'est assez facile à corriger, mais quand même...
Chrome n'beaux - Ne semble pas encore défini le Type de Contenu
Firefox n'beaux - Content-Type application/json; charset=utf-8
Il y a des pages d'exemple qui montrent comment bien IE 10 poignées de la SCRO, mais ils ne traitent pas cette question rediriger.