Prosty uploader plikow

meodta

Podstawa

Na formę wstawiamy: 2 x Button 1 x Opendialog 5 x Edit 5 x Label 1 x Memo 1 X IdFtp
  Button 1 nazywamy <b>Przegladaj</b> , a button 2 <b>Wyslij</b>
  Pierwszy edit nazywamy <b>Opis</b> , drugi <b>Autor</b> , trzeci <b>Tytul</b> ,czwarty <b>Ścieżka</b> i piąty <b>Link</b> .
  Pierwszy Label będzie miał napis ( Caption ) <b>Tytuł pliku</b> , drugi <b>Autor pliku</b> , trzeci <b>Opis pliku</b> , czwarty <b>Ścieżka do pliku</b> i piąty <b>Link do strony pliku</b> .
 IdFtp nazywamy <b>Id</b>. 
 Memo nazywamy <b>System</b> a opendialog  pozostawiamy bez zmian.

Powinno to wyglądać tak :
d595d5e2bd59b26a.png

Właściwości

Dla Systemu właściwość Visible ( Widoczność ) ustawiamy na false ( Nieprawda ).
Dla Label 5 ( Caption : Link do strony ) właściwość Visible ustawiamy na false.
Dla Link właściwość Visible też ustawiamy na false.

Łączenie się z serwerem i wysyłanie pliku

Dla procedury onClick Wyslij ustaw :

 Id.Host:='www.mojastrona.pl'; // Adres strony
 Id.Username:='nazwa_uzytkownika'; // Nazwa uzytkownika do serwera
 Id.Password:='haslo'; // Haslo uzytkownika do serwera
 Id.Disconnect;
 Id.Connect();
 Id.Put('plik ktory chcemy wysla','miejsce docelowe i nazwa pliku np. pliki/cos.png'); // wyslanie pliku
 Id.Disconnect;

Ale pokazalem to tylko żeby wam pokazać jak wysyłać pliki, jeżeli ktoś się spyta dlaczego użyłem Disconnect ( rozlączenia ) zanim użyłem Connect ( Połączenia ) to odpowiem , ponieważ podczas błędu program się nie rozłączy a potem delphi może mieć do nas pretensje że już jesteśmy połączeni :P

Tworzenie strony o pliku

Nasz program będzie miał umiejętność tworzenia stron internetowych pliku. Strona będzie wysyłana razem z plikiem i będzie zajmowała nie więcej niż 2 kb.

A więc w onClick wstawiamy :

var
 i : integer;
begin
 Randomize; // losujemy
 i:=Random(1000000); // zmienna i = jakaś liczba od 1 do 1000000
 System.Lines.Clear; // kasujemy zawartość memo
//     Tworzymy kod HTML   //
 System.Lines.Add('<html>');
 System.Lines.Add('<head>');
 System.Lines.Add('  <meta http-equiv="Content-type" content="text/html; charset=ISO-8859-2" />');
 System.Lines.Add('  <meta name="Description" content="" />');
 System.Lines.Add('  <meta name="Author" content="Meodta Uploader" />');
 System.Lines.Add('  <meta name="Generator" content="EdHTML" />');
 System.Lines.Add('  <title>'+Tytul.Text+' - Generowane w Meodta Uploader'+'</title>');
 System.Lines.Add('</head>');
 System.Lines.Add('<body>');
 System.Lines.Add('<font size="5">Plik dodany przez: ' + Autor.Text + '</font><br>');
 System.Lines.Add(Tytul.Text + '<br>');
 System.Lines.Add('<font size="5">Opis Pliku:</font><br>' + Opis.Text + '<br>');
 System.Lines.Add('<font size="5">Link do strony: </font> <a href="' + Id.Host + '/Pliki/st' +IntToStr(i) + '.htm">Strona</ a><br>');
 System.Lines.Add('<font size="5">Link do Pliku: </font> <a href="' + Id.Host + '/Pliki/pl'+IntToStr(i) +  '>Plik</ a><br>');
 System.Lines.Add('</body>');
 System.Lines.Add('</html>');
 System.Lines.SaveToFile('st' + InTtoStr(i) + '.htm');
// Wysyłamy pliki na serwer //
 Id.Disconnect;
 Id.Connect();
 Id.Put('st' + InTtoStr(i) + '.htm' , Id.Host + 'Pliki/st' + inttostr(i)+ '.htm');
 Id.Put('opendialog1.filename', Id.Host + 'Pliki/pl' + inttostr(i) + '.png');
 Link.Text:=Id.Host+'/Pliki/st' + inttostr(i) + '.htm';
 Link.Visible := True;
 Label5.Visible := True;
 Id.Disconnect;
end;

Tak zwane zakończenie

Teraz w onClick dla Przegladaj ustaw :

Opendialog1.Execute;
Sciezka.Text:=Opendialog1.FileName;

Mam nadzieję że komuś się on przyda :]


Mam nadzieję że niedługo go skończę ;)

2 komentarzy

bo jeszcze nie skonczylem ;P

coś nie wyszło :P