Nous offrons la possibilité de soumettre des images à la galerie d'un utilisateur. Bien que la méthode normale que nous avons employée fonctionne bien, certaines personnes téléchargent plusieurs fichiers, ce qui peut prendre beaucoup de temps et est ennuyeux dans le processus de sélection (un à la fois).Chargements de fichiers avec Gears & PHP
J'ai commencé à écrire une autre méthode en utilisant Gears pour ceux qui l'ont. L'objectif principal est de remplacer la sélection de fichier et de fournir un indicateur de progression pour le téléchargement (ce qui permet d'atténuer la frustration lors du téléchargement de plusieurs gros fichiers).
J'ai tout fait.
Je référencé le code Uploader film ici (http://uploadmovietool.appspot.com/) qui démontre le téléchargement de fichiers à l'aide de la méthode de morceau. Je l'ai télécharger correctement, le serveur accepte les morceaux, mais je rencontre un problème en essayant de gérer les données entrantes avec PHP.
Chaque morceau est une demande séparée au script, et aucune des données est enregistré dans les données entrantes normal PHP vars _POST
, _GET
, _FILES
, etc. J'ai finalement été en mesure d'obtenir les données de sucer $GLOBALS['HTTP_RAW_POST_DATA']
cependant, même lors de l'ajout des données dans le même fichier, l'image n'est jamais complète. Il montrera des portions, mais quelque chose a toujours tort.
..That dit .. s'il y a un moyen plus facile d'afficher des fichiers au script, tout en ayant accès aux mises à jour des progrès, j'aimerais entendre. Quand j'ai commencé ce projet, j'avais supposé que Gears me fournirait un moyen de faire des publications en plusieurs parties avec des fichiers comme normal, et me donnerait simplement un feu d'événement sur un intervalle avec des informations d'avancement. Si c'est en quelque sorte possible (et je l'ai évidemment manqué), s'il vous plaît faites le moi savoir.
Pour être clair: nous sommes conscients que HTML5 prend en charge la mécanique de progression, et sont prêts à mettre en œuvre sur la base dès qu'il est viable. :)
Pour d'autres références:
Les en-têtes que j'envoie le message (comme dans l'exemple Uploader film google) sont:
Request.setRequestHeader('Content-Disposition', 'attachment; filename="' + self._fileName + '"');
Request.setRequestHeader('Content-Type', 'application/octet-stream');
Request.setRequestHeader('Content-Range', 'bytes ' + byteRange);
Merci à tous ceux qui peuvent aider.
Merci pour la réponse. Malheureusement, demander à nos utilisateurs d'installer un plugin juste pour notre propriété n'est pas une option que nous sommes prêts à poursuivre. Je serais plus disposé à utiliser simplement un téléchargeur flash par opposition à un plugin. – Spot