Codieren eines FileStream-zu base64-mit c#
Ich weiß, wie man Kodieren /Dekodieren eine einfache Zeichenfolge, die vom /base64.
Aber wie würde ich das tun, wenn die Daten bereits geschrieben wurden FileStream Objekt. Sagen wir, ich habe nur Zugriff auf die FileStream-Objekt nicht auf die zuvor gespeicherte ursprünglichen Daten in es. Wie würde ich das codieren eines FileStream-zu base64 - bevor ich Spülen Sie die FileStream in eine Datei.
Ofc konnte ich nur öffne meine Datei und codieren /decodieren, nachdem ich geschrieben habe das FileStream auf die Datei, aber ich möchte diese alle in einem einzigen Schritt, ohne zwei Datei-Operationen eine nach der anderen. Die Datei kann größer sein und es würde auch die doppelte Zeit zum laden, codieren und speichern Sie es wieder, nachdem es wurde nur gespeichert, eine kurze Zeit vor.
Vielleicht jemand von Euch kennt eine bessere Lösung? Konvertiere ich den FileStream in einen string Kodieren Sie die Zeichenfolge und dann konvertieren Sie die Zeichenfolge wieder in einen FileStream zum Beispiel oder was würde ich tun und wie würde so ein code Aussehen?
InformationsquelleAutor der Frage feedwall | 2013-10-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie auch codieren bytes zu Base64. Wie man dies von einem stream finden Sie hier: So konvertieren Sie ein Stream in ein byte[] in C#?
Oder ich denke, es sollte auch möglich sein die zu benutzen .ToString () - Methode und codieren diese.
InformationsquelleAutor der Antwort alpham8
Können Sie versuchen, etwas wie:
InformationsquelleAutor der Antwort Jacob
Einfach als eine Erweiterung Methode
InformationsquelleAutor der Antwort chris31389
Da die Datei größer sein wird, Sie haben Sie nicht sehr viel Wahl, wie dies zu tun. Sie können die Datei an der richtigen Stelle seit, die zerstören die Informationen, die Sie benötigen, um zu verwenden. Sie haben zwei Möglichkeiten, die ich sehen kann:
Natürlich der ganze Sinn von streams ist zu vermeiden, diese Art von Szenario. Anstatt die Inhalte und Stopfen es in ein stream-Datei, stopfte es in einen memory-stream. Codieren dann, und nur dann auf der Festplatte speichern.
InformationsquelleAutor der Antwort David Heffernan
Nicht vergessen:
am Anfang der Methode... 😉
InformationsquelleAutor der Antwort David