Przykład tramnsmisji plików przy pomocy FTP (ActiveX)
Jest to przykład transmisji plików poprzez Internet/Intranet poprzez protokół
FTP. Zakładane jest wykorzystanie ActiveX obiektu
ChilkatFTP. Ten można darmowo pobrać ze stron producenta:
http://www.chilkatsoft.com/downloads.asp. Producent również oferuje przykłady zastostosowania na stronach
http://www.example-code.com/vbscript/ftp.asp a dokumentację do interfejsu obiektu udostępnił na stronie
http://www.chilkatsoft.com/refdoc/xChilkatFtpRef.html.
Zastosowana technologia jest uruchamiana w trybie synchronicznym, dlatego do nawiązania połączenia oraz transmisji plików wskazanym w systemie PROMOTIC jest stosowanie obiektu
PmaSequencer. W skrypcie jest stworzona instancja tego obiektu przy pomocy metody
CreateObject.
Skrypt do wysyłania pliku do FTP serwera w trybie transmisji pasywnej.:
JavaScriptVBScriptWybierz oraz skopiuj do schowka
var oftp, success, localFilename, remoteFilename;
oftp = Pm.AxGetObject("new", "ChilkatFTP.ChilkatFTP.1");
oftp.Hostname = "nameserver";
oftp.Username = "*****";
oftp.Password = "*****";
// Wyjściowa transmisja danych jest ustawiona w trybie "Active" (odwrotnością jest "Passive")
// Zmiana do pasywnego trybu transmisji można ustawić:
oftp.Passive = 1;
// Połączenie oraz zalogowanie do FTP serwera.
success = oftp.Connect();
if (success != 1)
{
Pm.MessageBox("Warning - Connect", oftp.LastErrorText);
}
else
{
// Zmiana lub ustawienie foldera na FTP serwerze, gdzie znajduje się lub zostanie umieszczony wymagany plik.
success = oftp.ChangeRemoteDir("/FTP");
if (success != 1)
{
Pm.MessageBox("Warning - ChangeRemoteDir", oftp.LastErrorText);
}
else
{
// Przeniesienie pliku
localFilename = "C:\\uplist.txt";
remoteFilename = "uplist.txt";
success = oftp.PutFile(localFilename, remoteFilename);
if (success != 1)
{
Pm.MessageBox("Warning - PutFile", oftp.LastErrorText);
}
else
{
oftp.Disconnect();
Pm.MessageBox("Transfer file", "Plik został przeniesiony!");
}
}
}
Dim oftp, success, localFilename, remoteFilename
Set oftp = Pm.AxGetObject("new", "ChilkatFTP.ChilkatFTP.1")
oftp.Hostname = "nameserver"
oftp.Username = "*****"
oftp.Password = "*****"
' Wyjściowa transmisja danych jest ustawiona w trybie "Active" (odwrotnością jest "Passive")
' Zmiana do pasywnego trybu transmisji można ustawić:
oftp.Passive = 1
' Połączenie oraz zalogowanie do FTP serwera.
success = oftp.Connect()
If success <> 1 Then
Pm.MessageBox "Warning - Connect", oftp.LastErrorText
Else
' Zmiana lub ustawienie foldera na FTP serwerze, gdzie znajduje się lub zostanie umieszczony wymagany plik.
success = oftp.ChangeRemoteDir("/FTP")
If success <> 1 Then
Pm.MessageBox "Warning - ChangeRemoteDir", oftp.LastErrorText
Else
' Przeniesienie pliku
localFilename = "C:\uplist.txt"
remoteFilename = "uplist.txt"
success = oftp.PutFile(localFilename, remoteFilename)
If success <> 1 Then
Pm.MessageBox "Warning - PutFile", oftp.LastErrorText
Else
oftp.Disconnect
Pm.MessageBox "Transfer file", "Plik został przeniesiony!"
End If
End If
End If
Skrypt do pobrania pliku z FTP serwera w trybie transmisji pasywnej.:
JavaScriptVBScriptWybierz oraz skopiuj do schowka
var oftp, success, localFilename, remoteFilename;
oftp = Pm.AxGetObject("new", "ChilkatFTP.ChilkatFTP.1");
oftp.Hostname = "nameserver";
oftp.Username = "*****";
oftp.Password = "*****";
// Wyjściowa transmisja danych jest ustawiona w trybie "Active" (odwrotnością jest "Passive")
// Zmiana do pasywnego trybu transmisji można ustawić:
oftp.Passive = 1;
// Połączenie oraz zalogowanie do FTP serwera.
success = oftp.Connect();
if (success != 1)
{
Pm.MessageBox("Warning - Connect", oftp.LastErrorText);
}
else
{
// Zmiana lub ustawienie foldera na FTP serwerze, gdzie znajduje się lub zostanie umieszczony wymagany plik.
// Ten krok jest niezbędny tylko jeżeli pobierany plik nie znajduje się w folderze rdzennym dla połączenia FTP
success = oftp.ChangeRemoteDir("/FTP");
if (success != 1)
{
Pm.MessageBox("Warning - ChangeRemoteDir", oftp.LastErrorText);
}
else
{
// Pobranie pliku
localFilename = "C:\\uplist.txt";
remoteFilename = "uplist.txt";
success = oftp.GetFile(remoteFilename, localFilename);
if (success != 1)
{
Pm.MessageBox("Warning - GetFile", oftp.LastErrorText);
}
else
{
oftp.Disconnect();
Pm.MessageBox("Transfer file", "Plik został pobrany!");
}
}
}
Dim oftp, success, localFilename, remoteFilename
Set oftp = Pm.AxGetObject("new", "ChilkatFTP.ChilkatFTP.1")
oftp.Hostname = "nameserver"
oftp.Username = "*****"
oftp.Password = "*****"
' Wyjściowa transmisja danych jest ustawiona w trybie "Active" (odwrotnością jest "Passive")
' Zmiana do pasywnego trybu transmisji można ustawić:
oftp.Passive = 1
' Połączenie oraz zalogowanie do FTP serwera.
success = oftp.Connect()
If success <> 1 Then
Pm.MessageBox "Warning - Connect", oftp.LastErrorText
Else
' Zmiana lub ustawienie foldera na FTP serwerze, gdzie znajduje się lub zostanie umieszczony wymagany plik.
' Ten krok jest niezbędny tylko jeżeli pobierany plik nie znajduje się w folderze rdzennym dla połączenia FTP
success = oftp.ChangeRemoteDir("/FTP")
If success <> 1 Then
Pm.MessageBox "Warning - ChangeRemoteDir", oftp.LastErrorText
Else
' Pobranie pliku
localFilename = "C:\uplist.txt"
remoteFilename = "uplist.txt"
success = oftp.GetFile(remoteFilename, localFilename)
If success <> 1 Then
Pm.MessageBox "Warning - GetFile", oftp.LastErrorText
Else
oftp.Disconnect
Pm.MessageBox "Transfer file", "Plik został pobrany!"
End If
End If
End If