Obtenez la taille du fichier avant de le télécharger & amp; compter combien déjà téléchargé (http + ruby)
Quelqu'un peut-il m'aider à
- obtenir le la taille du fichier avant de j'ai commencer le téléchargement
- afficher combien % a déjà été téléchargée
.
require 'net/http'
require 'uri'
url = "http://www.onalllevels.com/2009-12-02TheYangShow_Squidoo_Part 1.flv"
url_base = url.split('/')[2]
url_path = '/'+url.split('/')[3..-1].join('/')
Net::HTTP.start(url_base) do |http|
resp = http.get(URI.escape(url_path))
open("test.file", "wb") do |file|
file.write(resp.body)
end
end
puts "Done."
source d'informationauteur Radek
Vous devez vous connecter pour publier un commentaire.
Utiliser le request_head méthode. Comme ce
La taille_fichier seront en octets.
De suivre ces deux liens pour plus d'informations.
http://ruby-doc.org/stdlib/libdoc/net/http/rdoc/classes/Net/HTTP.html#M000695
http://curl.haxx.se/mail/archive-2002-07/0070.html
donc je l'ai fait travailler même avec la barre de progression ....
La taille du fichier est disponible à l'adresse HTTP
Content-Length
en-tête de réponse. Si elle n'est pas présente, vous ne pouvez pas faire quoi que ce soit. Pour calculer le % de, il suffit de faire de l'école primaire math comme (partie/total * 100).Voici le code complet pour obtenir les détails d'un fichier avant de le télécharger