C# pobieranie pliku w częściach

0

Witam,
chciałbym zrobić, aby plik z serwera pobierał się "w częściach" (np. 16 partów, a potem je łączyło w jeden plik).
Mam taki kod [https://pastebin.com/ey7nkVft]
Gdy pobieram plik, to rozmiar pliku zgadza się z rozmiarem na serwerze. Ten kod działa tylko w przypadku jednej części, na kilku częściach już nie działa. Serwer obsługuje pobieranie częściowe.
Nie mam pojęcia jak to naprawić, może ktoś pomoże?

0
Jan Makowiec napisał(a):

na kilku częściach już nie działa

Tzn co sie dzieje?

0

Przepraszam, zapomniałem dopisać.
Jest to archiwum, gdy próbuje wypakować pojawia się błąd:

Błąd sumy kontrolnej w . Plik jest uszkodzony

0

Czekaj

using (var fileStream = new FileStream(tempFilePath, FileMode.Create, FileAccess.Write, FileShare.Write))
                        {
                            httpWebResponse.GetResponseStream().CopyTo(fileStream);
                            tempFilesDictionary.TryAdd(index, tempFilePath);
                        }

Dobrze widze że później obiekty z tempFilesDictionary próbujesz zapisać w jednym pliku ?

  1. Czy jak dzielisz na 10 czesci to wszystkie 10 sie chce zapisać ?

  2. zapisujesz każda częśc tego pliku jako osobny plik

następnie te 10 plików chcesz połączyć w jeden?

Z tego co się orientuje jak zrzucisz plik na stream to tam nie ma tylko danych ale są też jego meta dane...
w tym wypadku twoje archiwum składa się z 10 metadanych 10 plików i 10 części pliku właściwego.

Zrób sobie eksperyment.

  1. Weź jakiś plik.
  2. podziel go na 2 czesci
  3. każda z tych czesci zapisz w osobnym filestreamie.
  4. połącz te dwa fileStreamy

daje 90% że też to nie zadziała

1 użytkowników online, w tym zalogowanych: 0, gości: 1