Ohne wirklich Ahnung zu haben:
"Viele sind über 1 GB gross, das in den speicher zu packen wäre ziemlich schlecht."
Könnte man das nicht einfach mit RAR aufteilen? Also so Teile mit je etwa 128 MB oder so. Wäre ja möglich.
Dann wären die Pakete wenigstens nicht mehr so groß.
Kann man nicht einen Stream auch byteweise lesen und schreiben? Du musst den ja nicht komplett im Speicher halten. Oder hab ich da was übersehen?
Leider nein, da ich auf Quellseite in einem speziellen Benutzer Context lande: Ich hab da ne Klasse die hat ne Methode, die von ner API (für jede Datei) automatisch aufgerufen wird und mir nen kompletten Datei Pfad als String übergibt sowie gleichzeitig auch ein Impersonate macht, damit ich auch die Rechte bekomme auf die Quelldatei zuzugreifen.
Während ich in diesem Context bin, nennen wir ihn mal eRoomFiles, darf ich kein Impersonate mehr machen, ansonsten zerstöre ich meinem aktuellen eRoomFiles Benutzerkontext mit welchem ich auf die Quelldatei zugreife.
Sprich es hat nix damit zu tun, die Datei zu kopieren, sondern nur das der Benutzer kontext verloren geht. Also Doppel impersonate geht also nicht.
Geht also nur der "Net Use" weg, der aber mit der Windows API sauber gelöst ist:
WNetAddConnection2
Für jede Datei wird eine NET CONNECTION aufgemacht und nachdem herunterladen, wieder zugemacht.
Das hört sich böse an, da es ja für jede Datei passiert aber in der Praxis funktioniert das hervorragend.
SDH.Prod hat geschrieben:
Ohne wirklich Ahnung zu haben: "Viele sind über 1 GB gross, das in den speicher zu packen wäre ziemlich schlecht." Könnte man das nicht einfach mit RAR aufteilen? Also so Teile mit je etwa 128 MB oder so. Wäre ja möglich. Dann wären die Pakete wenigstens nicht mehr so groß.
Nein, da ich unmöglich nem Kunde sagen kann, hey teile deine ganzen Dateien (> 10000) in rars auf
und dann gibts keine probleme.
Das geht leider nicht, da muss man nen Weg als Entwickler finden das zu lösen ohne dem Kunden unnötigen Aufwand zu machen.
Wenn ich natürlich 2 Jahre bräuchte anstatt 2 Stunden, dieses WNetAddConnection2 zu benutzen, dann wäre das natürlich die bessere lösung das mit den rars
Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.