Это не решение C #, но Getright делает это очень хорошо.
Программно, для записи файлов, я бы подумал, что для возобновления передачи вам необходимо подключиться, прочитать файл (или каким-либо другим способом определить его размер), а затем открыть его и добавить оставшиеся данные , Возможно, стоит проверить, что последние N байтов в существующем файле соответствуют тем, которые находятся в вашем локальном файле. Чтение будет аналогичным - перейдите к определенной части файла и начните чтение обратно.
[Изменить] Если вам удалось установить FTP-соединение, вам нужна команда: REST :
RESTART (ОТДЫХ)
Поле аргумента представляет маркер сервера, с которого должна быть возобновлена передача файла. Эта команда не вызывает передачу файла, но пропускает файл до указанной контрольной точки данных. Эта команда должна немедленно сопровождаться соответствующей командой службы FTP, которая должна возобновить передачу файла.
Я уверен, что есть несколько простых клиентских библиотек C # ftp , которые вы можете использовать, если вы еще не нашли / не написали одну.