Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Wielkość pliku
mikmas
From Łódź Stadt




Typ: neutral
Postów: 772
Zarejestrowany: Apr 2003
Wielkość pliku

Jak pobrać wielkość pliku leżącego na serwie ftp?


_____________________________________________
4C;65;70;69;65;6A;20;62;79;9C;20;73;69;EA;20;
62;61;72;64;7A;69;65;6A;20;73;6B;6F;6E;63;65;
6E;74;72;6F;77;61;B3;20;6E;61;20;6F;64;70;6F;
77;69;65;64;7A;69;2C;20;61;20;6E;69;65;20;6E;
61;20;72;6F;7A;73;7A;79;66;72;6F;77;79;77;61;
6E;69;75;20;3A;50

26-03-2005 02:33
Pokaż profil mikmas  Wyślij email do mikmas   Odwiedź stronę mikmas       3632553
DJK



Typ: neutral
Postów: 871
Zarejestrowany: Feb 2004

Private Declare Function FtpGetFileSize Lib "wininet.dll" (ByRef hFile As Long, ByRef lpdwFileSizeHigh As Long) As Long



_____________________________________________
Jeśli można coś zrobić w sposób optymalny to czemu nie

26-03-2005 14:21
Pokaż profil DJK  Wyślij email do DJK   Odwiedź stronę DJK  
mikmas
From Łódź Stadt




Typ: neutral
Postów: 772
Zarejestrowany: Apr 2003

Dzięki! Właśnie o takie coś mi chodziło.
Ale skoro już tu jestem, to może znasz komendę na FTP, która by prosiła serwera o podanie wielkości?


_____________________________________________
4C;65;70;69;65;6A;20;62;79;9C;20;73;69;EA;20;
62;61;72;64;7A;69;65;6A;20;73;6B;6F;6E;63;65;
6E;74;72;6F;77;61;B3;20;6E;61;20;6F;64;70;6F;
77;69;65;64;7A;69;2C;20;61;20;6E;69;65;20;6E;
61;20;72;6F;7A;73;7A;79;66;72;6F;77;79;77;61;
6E;69;75;20;3A;50

26-03-2005 14:32
Pokaż profil mikmas  Wyślij email do mikmas   Odwiedź stronę mikmas       3632553
DJK



Typ: neutral
Postów: 871
Zarejestrowany: Feb 2004

A ta funkcja co robi


_____________________________________________
Jeśli można coś zrobić w sposób optymalny to czemu nie

26-03-2005 14:37
Pokaż profil DJK  Wyślij email do DJK   Odwiedź stronę DJK  
hicks
raptor user



Typ: moderator
Postów: 279
Zarejestrowany: Apr 2003

http://www.faqs.org/rfcs/rfc959.html


_____________________________________________
TLHW Clan member

26-03-2005 19:43
Pokaż profil hicks  Wyślij email do hicks   Odwiedź stronę hicks       2511367
mikmas
From Łódź Stadt




Typ: neutral
Postów: 772
Zarejestrowany: Apr 2003

No właśnie ja dotychczas sam się męczyłem z down/uploadem plików. Sam łączyłem się winsockiem itd., ale nie mogę znaleść funkcji na serwer, która zwróci wielkość pliku, bo żeby tą "FtpGetFileSize" mógł wykorzystać trzeba znów się połączyć...


_____________________________________________
4C;65;70;69;65;6A;20;62;79;9C;20;73;69;EA;20;
62;61;72;64;7A;69;65;6A;20;73;6B;6F;6E;63;65;
6E;74;72;6F;77;61;B3;20;6E;61;20;6F;64;70;6F;
77;69;65;64;7A;69;2C;20;61;20;6E;69;65;20;6E;
61;20;72;6F;7A;73;7A;79;66;72;6F;77;79;77;61;
6E;69;75;20;3A;50

26-03-2005 20:15
Pokaż profil mikmas  Wyślij email do mikmas   Odwiedź stronę mikmas       3632553
hicks
raptor user



Typ: moderator
Postów: 279
Zarejestrowany: Apr 2003

A rozmiary plików nie są czasem zwracane po komendzie do listowania katalogu?

Command:LIST
Response:150 Opening data channel for directory list.
Response:226 Transfer OK

Tutaj może są rozmiary zwracane...

[Post edytowany dnia 26-03-2005 20:38 przez hicks]


_____________________________________________
TLHW Clan member

26-03-2005 20:37
Pokaż profil hicks  Wyślij email do hicks   Odwiedź stronę hicks       2511367
mikmas
From Łódź Stadt




Typ: neutral
Postów: 772
Zarejestrowany: Apr 2003

Tak, wiem, są. Tylko problem polega na ich wydłubaniu. Oto zwroty komend z serwerów interii i freestarthostu.

Interia:
total 2677
-rw-r--r--  1 14  50      0 Mar 26 00:33 
-rw-r--r--  1 14  50      13 Mar 26 04:27 .be
-rw-r--r--  1 14  50      14 Mar 26 14:27 .ip
-rw-r--r--  1 14  50      69 Mar 26 12:12 .nfs0068b936000012a3
-rw-r--r--  1 14  50    525 Mar 25 20:31 .rap
-rw-r--r--  1 14  50      15 Mar 25 20:43 Inteligentna.ip
-rw-r--r--  1 14  50    557 Mar 25 20:43 Inteligentna.rap
-rw-r--r--  1 14  50      13 Mar 26 116 Mikmas.be
-rw-r--r--  1 14  50      15 Mar 26 116 Mikmas.ip
-rw-r--r--  1 14  50    750 Mar 25 19:44 Mikmas.rap
drwxr-xr-x  2 14  50    208 Mar 26 12:19 NAT
-rw-r--r--  1 14  50  24576 Mar 20 22:18 Plik.exe
drwxr-xr-x  2 14  50      48 Mar 25 12:40 Test
-rw-r--r--  1 14  50      14 Mar 26 18:51 admin.ip
-rw-r--r--  1 14  50    540 Mar 25 17:12 admin.rap
-rw-r--r--  1 14  50      34 Mar  6 140 compcontrol.akt
-rw-r--r--  1 14  50  408943 Mar  6 142 compcontrol.dat
-rw-r--r--  1 14  50    243 Mar 21 13:49 config.dat
-rw-r--r--  1 14  50      0 Mar 26 010 ddd.tas
-rw-r--r--  1 14  50  921654 Mar 20 12:20 ofiara21.bmp
-rw-r--r--  1 14  50  989239 Mar  3 200 program.zip
-rw-r--r--  1 14  50  23970 Mar 26 02:59 receiv.plk
-rw-r--r--  1 14  50      12 Mar 20 22:24 rozkazy.lst
drwxr-xr-x  2 14  50    112 Mar 20 012 strona
-rw-r--r--  1 14  50      0 Mar 26 011 test.tst
-rw-r--r--  1 14  50  176656 Mar 25 19:19 test.txt
-rw-r--r--  1 14  50  102400 Mar  6 14:52 wir.dat
-rw-r--r--  1 14  50      14 Mar 26 17:15 xxx.ip
-rw-r--r--  1 14  50    897 Mar 25 14:30 xxx.rap
-rw-r--r--  1 14  50      14 Mar 26 161 z.ip
-rw-r--r--  1 14  50    527 Mar 24 10:45 z.rap


I dla FreeStartHostu:
-rw-r--r--  1 304803  vusers        17 Feb 18 21:45 Balik.ip
-rw-r--r--  1 304803  vusers        14 Feb 18 21:40 Mikmas.ip
drwxr-xr-x  52 304803  vusers      4096 Mar  3 20:41 Moje progi
-rw-r--r--  1 304803  vusers        50 Mar 25 17:36 Project1.vbw
-rw-r--r--  1 304803  vusers    1581018 Mar  4 16:48 bug1.bmp
-rw-r--r--  1 304803  vusers    274432 Mar  5 19:31 bug2.bmp
-rw-r--r--  1 304803  vusers        92 Feb 17 00:20 compcontrol.akt
-rw-r--r--  1 304803  vusers      24576 Feb 16 20:50 compcontrol.dat
drwxr-xr-x  2 304803  vusers      4096 Mar 20 001 inteligent.freestarthost.com
-rw-r--r--  1 304803  vusers    155648 Feb 16 17:45 plik.sew
-rw-r--r--  1 304803  vusers      77824 Feb 22 20:19 rescue.exe
-rw-r--r--  1 304803  vusers      24576 Feb 18 00:21 wir.dat

Jakby wszędzie było tak jak na interii, to nie problem, ale widzę, że co serwer to obyczaj...
Wielkość pliku potrzebna mi jest do obliczenia na tej podstawie postępu ściągania pliku - może to  komuś nasunie jakąś myśl, bo ja już odpadam

[Post edytowany dnia 26-03-2005 22:20 przez mikmas]


_____________________________________________
4C;65;70;69;65;6A;20;62;79;9C;20;73;69;EA;20;
62;61;72;64;7A;69;65;6A;20;73;6B;6F;6E;63;65;
6E;74;72;6F;77;61;B3;20;6E;61;20;6F;64;70;6F;
77;69;65;64;7A;69;2C;20;61;20;6E;69;65;20;6E;
61;20;72;6F;7A;73;7A;79;66;72;6F;77;79;77;61;
6E;69;75;20;3A;50

26-03-2005 22:18
Pokaż profil mikmas  Wyślij email do mikmas   Odwiedź stronę mikmas       3632553
kros




Typ: neutral
Postów: 39
Zarejestrowany: Apr 2003

Prościej chyba nie można jeśli chcesz oczywiście skorzystać z kontrolki Inet. Oczywiście należy najpierw ustanowić połączenie z serwerem.

Private Sub Command1_Click()
  Inet1.Execute , "SIZE /test.txt"
End Sub

Private Sub Inet1_StateChanged(ByVal State As Integer)
Select Case State
      Case icResponseCompleted
        Rozmiar = Inet1.GetChunk(0)
  End Select
End Sub


_____________________________________________

(Im więcej wiem to wiem, że mało wiem)

26-03-2005 22:33
Pokaż profil kros  Wyślij email do kros   
mikmas
From Łódź Stadt




Typ: neutral
Postów: 772
Zarejestrowany: Apr 2003

Tak, ale ja potrzebuję wielkość pliku do ściągnięcia pliku winsockiem.
1)Inetem jak się połączę to się rozłączyć nie da - 1 z 3 powodów dla którego piszę własny moduł
2)Skoro już jestem połączony winsockiem to może serwer zacząć pyskować, jak będą 2 wejścia na ten sam login - niektóre serwery poprostu dopuszczają jedno połączenie


_____________________________________________
4C;65;70;69;65;6A;20;62;79;9C;20;73;69;EA;20;
62;61;72;64;7A;69;65;6A;20;73;6B;6F;6E;63;65;
6E;74;72;6F;77;61;B3;20;6E;61;20;6F;64;70;6F;
77;69;65;64;7A;69;2C;20;61;20;6E;69;65;20;6E;
61;20;72;6F;7A;73;7A;79;66;72;6F;77;79;77;61;
6E;69;75;20;3A;50

27-03-2005 11:40
Pokaż profil mikmas  Wyślij email do mikmas   Odwiedź stronę mikmas       3632553
kros




Typ: neutral
Postów: 39
Zarejestrowany: Apr 2003

Tak kontrolka Inet na FTP to się raczej nie nadaje lepiej radzi sobie z WWW można swobodnie przerwać pobieranie pliku. Jeśli pracujesz z FTP to raczej nie korzystałbym z kontrolek a spróbowałbym z API. Będzie to bardziej czasochłonne ale napewno efektywniejsze.


_____________________________________________

(Im więcej wiem to wiem, że mało wiem)

27-03-2005 14:25
Pokaż profil kros  Wyślij email do kros   
mikmas
From Łódź Stadt




Typ: neutral
Postów: 772
Zarejestrowany: Apr 2003

Tzn. ja tworzę kontrolkę własną (i to jej odnosi się to pytanie) i nie korzystam z zewnętrznych kontrolek (nawet władowałem Socket Mastera zamiast WinSocka, żeby mój ocx nie potrzebował zewnętrzych ActiveX'ów). Ja nie korzystam w niej ani z kontrolek/modułów, które obsługują FTP - wszystko (łączenie, wysyłanie, odbieranie) robię sam za pomocą socket mastera, bo chcę mieć bajery, które przydają się, jak obsługuję FTP. Poza tym nie wiem jak się rozłączać, jak korzystam z Api do robienia operacji na serwie. Muszę wiedzieć, jakiej wielkości jest plik, który ściągam, bo chciałbym jako jeden z bajerów dać zdarzenie postępu (w wysyłaniu to nie problem, bo znam wielkość pliku)


_____________________________________________
4C;65;70;69;65;6A;20;62;79;9C;20;73;69;EA;20;
62;61;72;64;7A;69;65;6A;20;73;6B;6F;6E;63;65;
6E;74;72;6F;77;61;B3;20;6E;61;20;6F;64;70;6F;
77;69;65;64;7A;69;2C;20;61;20;6E;69;65;20;6E;
61;20;72;6F;7A;73;7A;79;66;72;6F;77;79;77;61;
6E;69;75;20;3A;50

27-03-2005 15:00
Pokaż profil mikmas  Wyślij email do mikmas   Odwiedź stronę mikmas       3632553
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

Czy nikt nie może poprostu udzielić mu odpowiedzi, jak przez gołe FTP pobrać dane pliku (lub chociaż jego rozmiar) w ściśle określonej formie?

Z Inet'u najwyraźniej nie chce korzystać i ja go w pełni rozumiem - może i jest to metoda łatwa, ale mało praktyczna i niewygodna, a w praktyce wręcz bezużyteczna w wielu zastosowaniach.

Komendy LIST wykorzystać nie można, bo odpowiedź nie ma określonego formatu z tego co wiem.


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

28-03-2005 08:15
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
mikmas
From Łódź Stadt




Typ: neutral
Postów: 772
Zarejestrowany: Apr 2003

A oto odpowiedź:
serwer przed wysłaniem podaje całą informację: 150 Opening BINARY mode data connection for ####### (14 bytes)

[Post edytowany dnia 03-04-2005 02:41 przez mikmas]


_____________________________________________
4C;65;70;69;65;6A;20;62;79;9C;20;73;69;EA;20;
62;61;72;64;7A;69;65;6A;20;73;6B;6F;6E;63;65;
6E;74;72;6F;77;61;B3;20;6E;61;20;6F;64;70;6F;
77;69;65;64;7A;69;2C;20;61;20;6E;69;65;20;6E;
61;20;72;6F;7A;73;7A;79;66;72;6F;77;79;77;61;
6E;69;75;20;3A;50

03-04-2005 02:41
Pokaż profil mikmas  Wyślij email do mikmas   Odwiedź stronę mikmas       3632553
Wszystkich odpowiedzi: 13 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1