Я создаю приложение для загрузки файлов с клиентов на сервер с помощью wcf и пытаюсь реализовать способ возобновить загрузку в случае сбоя соединения.Предположим, у меня есть файл размером 500 КБ, загрузка начинается, и соединение не устанавливается, скопировано только 100 КБ.Когда я возобновляю работу, серверное приложение знает, что оно имеет 100 КБ.
Когда я читаю поток, переданный с кодом, подобным следующему:
while ((bytes = stream.Read(buffer, 0, bufferSize)) > 0)
- Это 0 (смещение) байтагде я начинаю читать ??
Если это так, я должен начать читать со 100 ??что-то вроде:
while ((bytes = stream.Read (buffer, 100, bufferSize))> 0)
и затем добавить байты к существующему неполному файлу??
Это мой код:
using (FileStream fs = new FileStream(@"C:\" + name, FileMode.Append))
{
int bufferSize = 4 * 1024; // 4KB buffer
byte[] buffer = new byte[bufferSize];
int bytes;
while ((bytes = stream.Read(buffer, 100, bufferSize)) > 0)
{
fs.Write(buffer, 100, bytes);
fs.Flush();
}
stream.Close();
fs.Close();
}
Какие изменения я должен сделать ??