Как читать несколько раз из одного 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
.
Пожалуйста, помогите мне, как я могу передать несколько отдельных ссылок для одного и того же читателя?