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
0
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 ?
-
Czy jak dzielisz na 10 czesci to wszystkie 10 sie chce zapisać ?
-
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.
- Weź jakiś plik.
- podziel go na 2 czesci
- każda z tych czesci zapisz w osobnym filestreamie.
- połącz te dwa fileStreamy
daje 90% że też to nie zadziała