Мне нужно автоматизировать вытягивание (получение) файлов из большого разнообразия в разных службах FTP, распространяемых по разным доменам, и получать файлы на 24 часа в сутки.Загрузите файл с ftp-сервера, пока файл еще не загружен
Моя проблема заключается в том, что службы FTP, в общем, позволяют загружать файл, пока файл еще не загружен. This - одна из ссылок на проблему, которую можно найти в Интернете.
Это может привести к незаполненному загрузке файла.
Я пытаюсь воспроизвести ситуацию, используя сервер Windows и FTP-клиент FileZilla, и получил половину файла, как ожидалось, поэтому для предотвращения этого не было безопасного механизма. Так что, может быть, просто нет способа предотвратить это со стороны клиента.
Так что мой вопрос в том, есть ли какой-то якорь, что-то, что может проверить мой клиент, чтобы убедиться, что ftp-сервер уже является совокупностью файла.
Мне было трудно поверить, что протокол устарел, поскольку ftp не обеспечивает безопасный механизм, поэтому я должен что-то пропускать, или это по дизайну.
Обновление Я разрабатываю автоматизацию на C#, но любой технический совет может помочь. Решение нужно петь дураком, потому что это важно для бизнеса.
update2 Загрузка осуществляется разными клиентами, поэтому невозможно установить соглашение со всеми.
Update3 Этот вопрос похож на вопрос How to detect that a file is being uploaded over FTP, но имеет дополнительное ограничение, представленный на Update2.
Какой механизм вы ожидаете от ftp здесь? Это открытие файла на диске и чтение из него, если файловая система не мешает ему это делать, как сервер ftp знает, что файл действительно занят? И нет, вы не можете исправить эту клиентскую сторону, это нужно сделать на стороне сервера. Короче говоря, настройте серверное программное обеспечение таким образом, чтобы загружаемые файлы не совпадали с загружаемыми вами файлами. –
Я думаю, что это не связано с программированием, см. [Этот ответ] (http://stackoverflow.com/a/29249203/579895) – Pikoh
@ LasseV.Karlsen, как служба, служба FTP контролирует 2. Кроме того, следует знать, когда файл завершен. – ByteArtisan