Событие AfterPutFile с Indy FTP-сервером

Я пишу приложение для FTP-сервера, в котором используется компонент Indy FtpServer. , Версия 10.5.9.0.

Мне нужно перехватить событие "AfterPutFile", потому что я должен выполнить действие после, однако я не нашел ни одного события, которое бы это делало.

Кто-нибудь может мне помочь? Спасибо. Энцо


person Enzo Costantini    schedule 27.04.2016    source источник


Ответы (1)


TIdFTPServer в настоящее время не предоставляет событие для этой ситуации. Соответствующее улучшение обсуждалось на веб-форум Инди пару месяцев назад, но он еще не реализован. Это в системе отслеживания проблем Indy:

Ошибка №65147: добавление событий в TIdFTPServer после завершения передачи

В настоящее время единственный способ обнаружить окончание передачи загрузки — это получить пользовательский класс от TStream и переопределить его деструктор, а затем назначить обработчик событий OnStoreFile, который создает экземпляр этого класса для получения данных файла клиента. Когда передача завершена, поток уничтожается. Недостатком этого подхода является то, что невозможно узнать, была ли передача успешной или неудачной, поскольку поток в любом случае уничтожается.

person Remy Lebeau    schedule 27.04.2016