J'ai été enracinement autour à travers le code net/http et n'ont pas encore tout à fait une solution pour cela. J'ai besoin d'effectuer une requête POST en plusieurs parties, ce que j'ai déjà compris, mais ce serait vraiment bien d'injecter un rappel périodiquement dans le téléchargement afin que je puisse incrémenter une barre de progression. Est-ce que quelqu'un sait un moyen d'obtenir du code pour exécuter chaque X nombre d'octets envoyés lors d'une publication HTTP?Obtenir les progrès de téléchargement de Ruby Net :: HTTP POST
7
A
Répondre
0
Il ne semble pas que vous utilisiez Rails, mais je pense que la façon la plus simple de le faire est d'utiliser le client. Dans un navigateur, vous pouvez le faire soit avec Flash (SWFUpload) ou seulement pour fournir une barre de progression aux nouveaux navigateurs en utilisant de nouveaux éléments XMLHttpRequest (le téléchargement fonctionne toujours dans les anciens navigateurs ... juste pas de barre de progression).
Cela fonctionne un peu différemment de ce que vous décrivez, mais la différence est très faible. Vous parlez de demander au serveur combien de données il a réellement enregistrées. Ces méthodes indiquent uniquement combien de données ont été envoyées au serveur.
- SWFUpload (mise en œuvre Flash avec barre de progression) - http://www.swfupload.org/
- Mise en oeuvre d'AJAX télécharger avec barre de progression et agréable repli dans les anciens navigateurs - http://valums.com/ajax-upload/
- Documentation sur la façon dont le téléchargement AJAX fonctionne avec les navigateurs plus récents - https://developer.mozilla.org/en/using_xmlhttprequest#Monitoring_progress