Как читать несколько раз из одного io.Reader

Я хочу использоватьrequest.Body(type io.ReadCloser) который содержит изображение.

Я не хочу использоватьioutil.ReadAll() поскольку я хочу записать это тело непосредственно в файл, а также хочу декодировать его, поэтому я хочу использовать только ссылку на содержимое для передачи в последующие вызовы функций,

Я попытался создать несколько экземпляров ридера, например, показанного ниже

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))

}

но во втором вызове это всегда приводит кnil.

Пожалуйста, помогите мне, как я могу передать несколько отдельных ссылок для одного и того же читателя?

Ответы на вопрос(3)

Ваш ответ на вопрос