Копирование файла на FTP сервер
#36963676
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
|
|
|
Народ. Ни у кого не было такой проблемы?:
Копирую файл на сервак ftp. Вижу параллельно что файл полностью залился, но прога зависает на команде FtpPutFile и хоть ты тресни. Правда такое бывает только с файлами больше 1М в объеме и то не всегда. Такое ощущение, что сервак не дает сигнала о том, что файл скопировался. С чем это связано и как это можно обойти?
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.
**** ----------------------------------------- Декларирование ftp ------------------------------------------------------------
DECLARE INTEGER InternetOpen IN wininet.dll STRING sAgent, LONG nAccessType, STRING sProxyName, STRING sProxyBypass, LONG nFlags
DECLARE INTEGER InternetCloseHandle IN wininet.dll LONG hInet
DECLARE INTEGER InternetConnect IN wininet.dll INTEGER hInternetSession, STRING sServerName,;
INTEGER nServerPort, STRING sUserName, STRING sPassword,;
LONG nService, LONG dwFlags, LONG dwContext
DECLARE LONG FtpSetCurrentDirectory IN wininet.dll INTEGER hFtpSession, STRING DirForFtp
DECLARE LONG FtpPutFile IN wininet.dll INTEGER hFtpSession, STRING FromFile, STRING ForFile, LONG dwFlags, LONG dwContext
DECLARE LONG FtpRenameFile IN wininet.dll LONG hFtpSession, STRING FromFile, STRING ToFile
DECLARE LONG FtpGetFile IN wininet.dll INTEGER hFtpSession, STRING FromFile, STRING ForFile, LONG fFailIfExists, ;
LONG dwFlagsAndAttributes, LONG dwFlags, LONG dwContext
DECLARE LONG FtpDeleteFile IN wininet.dll INTEGER hFtpSession, STRING FileDele
WAIT 'Передача информации на сервер по ftp-протоколу' WINDOW NOWAIT
#DEFINE INTERNET_SERVICE_FTP 1
#DEFINE INTERNET_FLAG_PASSIVE 0x8000000
FtpSession=InternetOpen('MyFTPClient', 1 , NULL, NUll, 0 ) && NonProxy
IF FtpSession# 0
FtpConnect=InternetConnect(FtpSession, cFtpURL, 21 , '', '', INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0 )
=FtpSetCurrentDirectory(FtpConnect, cFTPImport) && открываем корневой каталог на ФТП
IF FtpConnect# 0
IF FtpPutFile(FtpConnect, "Trash\"+cSysName, cSysName, 2 , 0 ) # 0 && Отправляем файл на ФТП
lFtp = .t.
ENDIF
ENDIF
ENDIF
|
|