Ich baue ein Blob-Speichersystem und ich wählte Go als Programmiersprache. Ich erstelle einen Stream, um eine mehrteilige Datei vom Client auf den Blob-Server hochzuladen.
Der Stream funktioniert einwandfrei, aber ich möchte aus dem Anfragetext einen sha1-Hash machen. Ich muss io.Copy den Körper zweimal. Der sha1 wird erstellt, aber die mehrteiligen Ströme 0 Bytes danach.
irgendeine Idee, wie ich das tun kann?
der Client hochladen
%Vor%die sha1 Funktion
%Vor%}
Upload-Handle
%Vor%}
Ich würde vorschlagen, ein io.TeeReader
zu verwenden, wenn Sie alle Lesevorgänge vom Blob gleichzeitig durch den sha1 schieben möchten .
Jetzt, da der bodyReader während des Uploads verbraucht wird, wird der Hash automatisch aktualisiert.