Příklad na přenos souborů pomocí FTP (ActiveX)
Je to příklad přenosu souborů přes Internet/Intranet protokolem
FTP. Předpokládá použití ActiveX objektu
ChilkatFTP. Ten lze ve "free" verzi stáhnout z Web stránek výrobce:
http://www.chilkatsoft.com/downloads.asp. Výrobce také nabízí příklady pro použití na stránkách
http://www.example-code.com/vbscript/ftp.asp a dokumentaci k rozhraní objektu zveřejnil na stránce
http://www.chilkatsoft.com/refdoc/xChilkatFtpRef.html.
Použitá technologie se spouští v synchronním režimu, proto bude vhodné v systému PROMOTIC k navázání spojení a přenosu souborů použít objekt
PmaSequencer. Ve skriptu je vytvořena instance na tento objekt metodou
CreateObject.
Skript pro odeslání souboru do FTP serveru v režimu pasivního přenosu.:
JavaScriptVBScriptVyber a zkopíruj do schránky
var oftp, success, localFilename, remoteFilename;
oftp = Pm.AxGetObject("new", "ChilkatFTP.ChilkatFTP.1");
oftp.Hostname = "nameserver";
oftp.Username = "*****";
oftp.Password = "*****";
// Výchozí přenos dat je nastaven v "Active" módu (opakem je "Passive")
// Změna na pasivní režim přenosu se nastaví:
oftp.Passive = 1;
// Připojení a přihlášení do FTP serveru.
success = oftp.Connect();
if (success != 1)
{
Pm.MessageBox("Warning - Connect", oftp.LastErrorText);
}
else
{
// Změna nebo nastavení složky na FTP serveru kde je nebo bude umístěn požadovaný soubor.
success = oftp.ChangeRemoteDir("/FTP");
if (success != 1)
{
Pm.MessageBox("Warning - ChangeRemoteDir", oftp.LastErrorText);
}
else
{
// Přenesení souboru
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", "Soubor přenesen!");
}
}
}
Dim oftp, success, localFilename, remoteFilename
Set oftp = Pm.AxGetObject("new", "ChilkatFTP.ChilkatFTP.1")
oftp.Hostname = "nameserver"
oftp.Username = "*****"
oftp.Password = "*****"
' Výchozí přenos dat je nastaven v "Active" módu (opakem je "Passive")
' Změna na pasivní režim přenosu se nastaví:
oftp.Passive = 1
' Připojení a přihlášení do FTP serveru.
success = oftp.Connect()
If success <> 1 Then
Pm.MessageBox "Warning - Connect", oftp.LastErrorText
Else
' Změna nebo nastavení složky na FTP serveru kde je nebo bude umístěn požadovaný soubor.
success = oftp.ChangeRemoteDir("/FTP")
If success <> 1 Then
Pm.MessageBox "Warning - ChangeRemoteDir", oftp.LastErrorText
Else
' Přenesení souboru
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", "Soubor přenesen!"
End If
End If
End If
Skript pro stažení souboru z FTP serveru v režimu pasivního přenosu.:
JavaScriptVBScriptVyber a zkopíruj do schránky
var oftp, success, localFilename, remoteFilename;
oftp = Pm.AxGetObject("new", "ChilkatFTP.ChilkatFTP.1");
oftp.Hostname = "nameserver";
oftp.Username = "*****";
oftp.Password = "*****";
// Výchozí přenos dat je nastaven v "Active" módu (opakem je "Passive")
// Změna na pasivní režim přenosu se nastaví:
oftp.Passive = 1;
// Připojení a přihlášení do FTP serveru.
success = oftp.Connect();
if (success != 1)
{
Pm.MessageBox("Warning - Connect", oftp.LastErrorText);
}
else
{
// Změna nebo nastavení složky na FTP serveru kde je nebo bude umístěn požadovaný soubor.
// Tento krok je nutný pouze pokud stahovaný soubor není v kořenové složce pro FTP připojení
success = oftp.ChangeRemoteDir("/FTP");
if (success != 1)
{
Pm.MessageBox("Warning - ChangeRemoteDir", oftp.LastErrorText);
}
else
{
// Stažení souboru
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", "Soubor stažen!");
}
}
}
Dim oftp, success, localFilename, remoteFilename
Set oftp = Pm.AxGetObject("new", "ChilkatFTP.ChilkatFTP.1")
oftp.Hostname = "nameserver"
oftp.Username = "*****"
oftp.Password = "*****"
' Výchozí přenos dat je nastaven v "Active" módu (opakem je "Passive")
' Změna na pasivní režim přenosu se nastaví:
oftp.Passive = 1
' Připojení a přihlášení do FTP serveru.
success = oftp.Connect()
If success <> 1 Then
Pm.MessageBox "Warning - Connect", oftp.LastErrorText
Else
' Změna nebo nastavení složky na FTP serveru kde je nebo bude umístěn požadovaný soubor.
' Tento krok je nutný pouze pokud stahovaný soubor není v kořenové složce pro FTP připojení
success = oftp.ChangeRemoteDir("/FTP")
If success <> 1 Then
Pm.MessageBox "Warning - ChangeRemoteDir", oftp.LastErrorText
Else
' Stažení souboru
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", "Soubor stažen!"
End If
End If
End If