Comment lire plusieurs fois, de même io.Lecteur

Je veux utiliser request.Body(type io.ReadCloser) qui est contenant une image.

Je ne veux pas utiliser ioutil.ReadAll() que je veux écrire ce corps directement dans le fichier ainsi que de le décrypter, donc je veux seulement utiliser la référence au contenu passer à plus d'appels de fonction,

J'ai essayé de créer plusieurs instances de lecteur pour l'exemple montré ci-dessous

package main

import (
    "io/ioutil"
    "log"
    "strings"
)


func main() {
    r := strings.NewReader("some io.Reader stream to be read\n")
    a := &r
    b := &r
    log.Println(ioutil.ReadAll(*a))
    log.Println(ioutil.ReadAll(*b))

}

mais dans le deuxième appel, il en résulte toujours nil.

S'il vous plaît aider moi comment puis-je passer plusieurs séparé de référence pour le même lecteur?

  • Annulables la façon dont vous l'avez demandé. Utiliser un io.TeeReader pour capturer ce que vous lisez pour de plus amples référence, par exemple dans une bytes.Buffer.