🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.perl
Article #51638

Obsluga uploadu w perlu ze wznawianiem po HTTP

#51638
From: Piotrus
Date: Wed, 28 Oct 2009 09:37
40 lines
2831 bytes
Witam,

Stanalem przed problemem wznawiania transferu plikow poprzez HTTP i
probuje to ogarnac. Wyobrazmy sobie, ze uzytkownik wgrywa 200MB i w
polowie mu przerwalo. Uprzedzam, ze rozwiazanie z FTP odpowiada z
przyczyn niezaleznych. Wiem, ze w rapidshare na koncie premium da sie
wznawiac transfery.

Po stronie klienta bedzie uruchominy jakis twardy klient np. w Javie,
ktory bedzie komunikowal sie po HTTP z serwerem (tylko i wylacznie),
np. dane beda zwracane przez XML.

Zwracam sie z prosba o przeanalizowanie scenariusza dzialania, ktory
wymyslilem i ewentualne rady/modyfikacje.

* Normalne wgranie pliku
0. Uzytkownik sie autoryzuje ustawiany jest cookies, etc.
1. Uzytkownik wykonuje POST i leci upload pliku.
2. W bazie dodawany jest wpis odnosnie tego pliku (polozenie,
wlasciciel, rozmiar).
3. Proces konczy sie. Skrypt po stronie serwera wykonuje md5
(wgrany_plik) i zapisuje te informacje obok polozenia, wlasciciela i
rozmiaru.

* Przerwane wgranie pliku
0. Uzytkownik sie autoryzuje ustawiany jest cookies, etc.
1. Uzytkownik wykonuje POST i leci upload pliku.
2. Przerywana jest transmisja.
3. Uzytkownik ponownie uruchamia klienta, odswiezana jest lista
plikow. Przy listingu plikow, ktore sa wgrane na serwerze, dla tych,
ktore nie maja md5 mozliwa jest opcja 'wznow transfer'.
4. Po kliknieciu wznow transfer uzytkownik wznawia transfer do
wskazanego pliku.

Jak obsluzyc takie wznowienie? Na pewno jestem w stanie przekazac
informacje do klienta od ktorego miejsca w pliku lokalnym powinien
zaczac wgrywac dane podczas listowania plikow.

Ma ktos pomysl jak nakreslic takie API? Czy moje zalozenia sa dobre,
czy beda problematyczne?
Technical Details
Message-ID: <4a115648-24b9-486d-9a3b-b3d15f69a175@a31g2000yqn.googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.glorb.com!npeer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!postnews.google.com!a31g2000yqn.googlegroups.com!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.glorb.com!npeer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!postnews.google.com!a31g2000yqn.googlegroups.com!not-for-mail
From: Piotrus <piotrus313@gmail.com>
Newsgroups: pl.comp.lang.perl
Subject: Obsluga uploadu w perlu ze wznawianiem po HTTP
Date: Wed, 28 Oct 2009 02:37:36 -0700 (PDT)
Organization: http://groups.google.com
Lines: 43
Message-ID: <4a115648-24b9-486d-9a3b-b3d15f69a175@a31g2000yqn.googlegroups.com>
NNTP-Posting-Host: 212.75.127.101
Mime-Version: 1.0
X-Trace: posting.google.com 1256722656 22156 127.0.0.1 (28 Oct 2009 09:37:36 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Wed, 28 Oct 2009 09:37:36 +0000 (UTC)
Complaints-To: groups-abuse@google.com
Injection-Info: a31g2000yqn.googlegroups.com; posting-host=212.75.127.101;  posting-account=FussgwoAAACCZfCtNAXzwvP7kvz_gi93
User-Agent: G2/1.0
X-HTTP-UserAgent: Opera/9.80 (Windows NT 5.1; U; pl) Presto/2.2.15  Version/10.00,gzip(gfe),gzip(gfe)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit