Узнать, что файл на FTP уже закачан
От: AlStorm  
Дата: 04.08.10 00:13
Оценка:
Всем привет.
По лбу не бить за глупый вопрос
Написал Windows службу, которая мониторит папочку на FTP на наличие определенного файла. Если файл найден — посылается на обработку в другую программу. Мониторинг происходит раз в минуту.
Так вот вопрос. Если файл большой, то возможна такая ситуация, что служба нашла файл и передала его в программу, а он еще не до конца закачался на FTP. Файл zip, в голову приходит проверять архив на целостность, но как его блин проверишь, если он не на локальном компьютере?
Есть у кого идеи?
zip .net ftp c#
Re: Узнать, что файл на FTP уже закачан
От: Аноним  
Дата: 04.08.10 00:38
Оценка:
Здравствуйте, AlStorm, Вы писали:

AS>Всем привет.

AS>По лбу не бить за глупый вопрос
AS>Написал Windows службу, которая мониторит папочку на FTP на наличие определенного файла. Если файл найден — посылается на обработку в другую программу. Мониторинг происходит раз в минуту.
AS>Так вот вопрос. Если файл большой, то возможна такая ситуация, что служба нашла файл и передала его в программу, а он еще не до конца закачался на FTP. Файл zip, в голову приходит проверять архив на целостность, но как его блин проверишь, если он не на локальном компьютере?
AS>Есть у кого идеи?

А что, не хватило идеи использовать файловые атрибуты или файлы-флаги? Может как GetRight расширение менять? Или все это rocket science?
Re[2]: Узнать, что файл на FTP уже закачан
От: AlStorm  
Дата: 04.08.10 00:58
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, AlStorm, Вы писали:


AS>>Всем привет.

AS>>По лбу не бить за глупый вопрос
AS>>Написал Windows службу, которая мониторит папочку на FTP на наличие определенного файла. Если файл найден — посылается на обработку в другую программу. Мониторинг происходит раз в минуту.
AS>>Так вот вопрос. Если файл большой, то возможна такая ситуация, что служба нашла файл и передала его в программу, а он еще не до конца закачался на FTP. Файл zip, в голову приходит проверять архив на целостность, но как его блин проверишь, если он не на локальном компьютере?
AS>>Есть у кого идеи?

А>А что, не хватило идеи использовать файловые атрибуты или файлы-флаги? Может как GetRight расширение менять? Или все это rocket science?



Загружает на ФТП сторонняя программа, тут ничего сделать не могу... Пока есть идея отслеживания размера: если количество байт между двумя "замерами" с интервалом 5 секунд изменилось — то файл закачан. Но хочется более изящного решения
Re[3]: Узнать, что файл на FTP уже закачан
От: AlStorm  
Дата: 04.08.10 03:31
Оценка:
AS>Загружает на ФТП сторонняя программа, тут ничего сделать не могу... Пока есть идея отслеживания размера: если количество байт между двумя "замерами" с интервалом 5 секунд изменилось — то файл закачан. Но хочется более изящного решения

Пардон, если не изменилось
Re[3]: Узнать, что файл на FTP уже закачан
От: Gridmer Россия www.i-tt.ru
Дата: 04.08.10 04:56
Оценка:
Здравствуйте, AlStorm, Вы писали:

AS>Загружает на ФТП сторонняя программа, тут ничего сделать не могу... Пока есть идея отслеживания размера: если количество байт между двумя "замерами" с интервалом 5 секунд изменилось — то файл закачан. Но хочется более изящного решения


А сторонняя программа не может после закачки переименовывать каким-то оговоренным образом файл? Если в названии есть нужные символы, значит — закачалось.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Re[3]: Узнать, что файл на FTP уже закачан
От: _FRED_ Черногория
Дата: 04.08.10 05:33
Оценка:
Здравствуйте, AlStorm, Вы писали:

AS>>>Написал Windows службу, которая мониторит папочку на FTP на наличие определенного файла. Если файл найден — посылается на обработку в другую программу. Мониторинг происходит раз в минуту.

AS>>>Так вот вопрос. Если файл большой, то возможна такая ситуация, что служба нашла файл и передала его в программу, а он еще не до конца закачался на FTP. Файл zip, в голову приходит проверять архив на целостность, но как его блин проверишь, если он не на локальном компьютере?
AS>>>Есть у кого идеи?

AS>…Пока есть идея отслеживания размера: если количество байт между двумя "замерами" с интервалом 5 секунд изменилось — то файл закачан. Но хочется более изящного решения


Можно проверять размер или дату последней модификации (MDTM) файла. Сравнивать дату с текущей, конечно же не стоит — она ведь будет серверная, но так же с небольшим периодом посмотреть не изменилась ли — хороший вариант, хотя и чудо-админы могут и время на сервере подкручивать

Если требуется работать с различными серверами, то тю: что SIZE, что MDTM — команды, которые сервер не обязан поддерживать. Можно хранить где-то список загруженных файлов и их размер. При проверке же проверять, загружен ли такой-то файл с таким-то размером.

Так же, по слухам, некоторые FTP-сервера поддерживают команды вычисления хешей файлов. А FTP/SSL "has built-in integrity checking". Это тоже можно заиспользовать.
Help will always be given at Hogwarts to those who ask for it.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.