Erhalten Sie die Dateigröße vor dem Download & zählen, wie viel bereits heruntergeladen (http+ruby)
Kann jemand mir helfen, um
- Holen Sie sich die Dateigröße vor ich den Download starten
- Anzeige, wie viel % wurde bereits heruntergeladen
.
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."
InformationsquelleAutor Radek | 2010-02-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie die request_head Methode. Wie diese
Die Dateigröße wird in Byte.
Folgen Sie diesen beiden links für mehr info.
http://ruby-doc.org/stdlib/libdoc/net/http/rdoc/classes/Net/HTTP.html#M000695
http://curl.haxx.se/mail/archive-2002-07/0070.html
Das ist nicht möglich. Es ist die server-Verantwortung, die
Content-Length
header. Wennhttp://www.onalllevels.com
ist unter Ihrer Kontrolle haben, es zu beheben, versuchen, Sie zu Kontaktieren und Sie bitten, zu beheben.Mir wurde gesagt, dass die server
doesn
t müssen sorgen` dercontent-length
w3.org/Protocols/rfc2616/rfc2616-sec14.html bei der Verwendung von word schicken SOLLTE ...Ist das nicht Content-Length fehlt, wenn chunk encoding verwendet wird?
was
http
hier?InformationsquelleAutor GeekTantra
also machte ich es auch mit dem Fortschrittsbalken ....
InformationsquelleAutor Radek
Die Größe der Datei ist in der HTTP -
Content-Length
response-header. Wenn es nicht vorhanden ist, können Sie nichts tun. Zur Berechnung der % -, nur die Grundschule, wie Mathematik (Teil - /Gesamt * 100).InformationsquelleAutor BalusC
Hier der vollständige code, um die Datei-details vor dem download
InformationsquelleAutor Selvamani