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 :
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ę ;)
bo jeszcze nie skonczylem ;P
coś nie wyszło :P