Příklad na přenos souborů pomocí FTP (ActiveX)
Je to příklad na přenos souborů přes intranet/internet protokolem
FTP. Předpokládá použití
ActiveX objektu
ChilkatFTP. Ten lze ve "free" verzi stáhnout ze 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 synchroní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 na FTP server 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í datový přenos 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í na FTP server.
success = oftp.Connect();
if (success != 1)
Pm.MessageBox("Warning - Connect", oftp.LastErrorText, 0x0);
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, 0x0);
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, 0x0);
else
{
oftp.Disconnect();
Pm.MessageBox("Transfer file", "Soubor přenesen!", 0x0);
}
}
}
Dim oftp, success, localFilename, remoteFilename
Set oftp = Pm.AxGetObject("new", "ChilkatFTP.ChilkatFTP.1")
oftp.Hostname = "nameserver"
oftp.Username = "*****"
oftp.Password = "*****"
'Výchozí datový přenos 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í na FTP server.
success = oftp.Connect()
If success <> 1 Then
Pm.MessageBox "Warning - Connect", oftp.LastErrorText, &H0
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, &H0
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, &H0
Else
oftp.Disconnect
Pm.MessageBox "Transfer file", "Soubor přenesen!", &H0
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í datový přenos 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í na FTP server.
success = oftp.Connect();
if (success != 1)
Pm.MessageBox("Warning - Connect", oftp.LastErrorText, 0x0);
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ém adresáři pro FTP připojení
success = oftp.ChangeRemoteDir("/FTP");
if (success != 1)
Pm.MessageBox("Warning - ChangeRemoteDir", oftp.LastErrorText, 0x0);
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, 0x0);
else
{
oftp.Disconnect();
Pm.MessageBox("Transfer file", "Soubor stažen!", 0x0);
}
}
}
Dim oftp, success, localFilename, remoteFilename
Set oftp = Pm.AxGetObject("new", "ChilkatFTP.ChilkatFTP.1")
oftp.Hostname = "nameserver"
oftp.Username = "*****"
oftp.Password = "*****"
'Výchozí datový přenos 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í na FTP server.
success = oftp.Connect()
If success <> 1 Then
Pm.MessageBox "Warning - Connect", oftp.LastErrorText, &H0
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ém adresáři pro FTP připojení
success = oftp.ChangeRemoteDir("/FTP")
If success <> 1 Then
Pm.MessageBox "Warning - ChangeRemoteDir", oftp.LastErrorText, &H0
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, &H0
Else
oftp.Disconnect
Pm.MessageBox "Transfer file", "Soubor stažen!", &H0
End If
End If
End If