C# и DropBox - проверить скопирован ли файл?

210
21 апреля 2018, 17:07

Вопрос достаточно простой, но не простой. Есть папка на DropBox, куда время от времени попадает небольшой текстовый файл. Есть программа, которая с помощью FileSysmemWatcher отлавливает событие OnCreate, выжидает некоторое время, потом стримридером, проверяет - не заблокирован ли файл и копирует его в другую папку не связанную с DropBox. Опять некоторое время выжидает, сравнивает файлы и если все Ок, удаляет оригинал и работает уже с копией.

Вопрос в том, можно ли как то адекватно проверить что файл все таки полноценно скопировался (синхронизирован)? Есть конечно вариант подключать библиотеку DropBox, разбираться в ней и т.д. (Мне этот вариант кажется излишним, хоть и даст 100% гарантию) Но возможно кто то сталкивался с подобной задачей - держит ли DropBox файл в блокировке, на время его синхронизации, например. Как проверить? Не пишет ли DropBox файлы частями? Повторюсь - размер файла не более 200-300 Кб и на синхронизацию, уходят секунды.

Answer 1

Ну 100% гарантию Вам даже Билл Гейтс не даст, но: DropBox по идее не должен держать файл в блокировке Более простой способ и наверняка самый верный это сравнение по ХЕШ, сравните хеш-и файлов.

READ ALSO
XMLSerializer Десериализация двух элементов в один список

XMLSerializer Десериализация двух элементов в один список

Можно ли как-то произвести десериализацию разных по названию элементов, но одинакового содержимого в один список?

196
Проблема с преобразование string в datetime

Проблема с преобразование string в datetime

Возникла проблема при преобразовании переменной string в datetime

208
Не срабатывает событие MimeKit

Не срабатывает событие MimeKit

Подскажите пожалуйста, почему может не срабатывать событиеВот мой код

212
Entity Framework создаёт лишнюю таблицу

Entity Framework создаёт лишнюю таблицу

К примеру, имеется у меня контекст из двух сетов:

195