Ich versuche, Bytes einer Zip-Datei mit io.Pipe() -Funktion in Golang streamen. Ich benutze Pipe-Reader, um die Bytes jeder Datei in der ZIP zu lesen und streame sie dann aus und benutze den Pipe-Writer, um die Bytes in das Antwortobjekt zu schreiben.Laden Sie eine Zip-Datei mit io.Pipe() lesen/schreiben golang
Dies ist keine funktionierende Implementierung, sondern eine Struktur dessen, was ich versuche zu erreichen. Ich möchte nicht ioutil.ReadAll verwenden, da die Datei sehr groß sein wird und Pipe() hilft mir zu vermeiden, alle Daten in den Speicher zu bringen. Kann jemand mit einer funktionierenden Implementierung mit io.Pipe() helfen?
Sie müssen die gesamte Datei lesen. 'zip.NewReader' nimmt einen' io.ReaderAt', den Sie mit einem Pipe nicht machen können. – JimB
konnte nicht io.Copy (zipReader, w) verwenden? https://golang.org/pkg/io/#Copy –
@ mh-cbon Ich bin nicht 100% sicher, aber nicht io.Copy einen Puffer darunter verwenden? Das wollte ich vermeiden. – psbits