Я отправляю POST-запрос в API и используя стороннюю библиотеку (https://github.com/cheggaaa/pb), но моя панель выполнения загрузки будет выполнена до завершения передачи файлов.Почему мой график выполнения загрузки заканчивается до завершения передачи?
package main
import(
pb "gopkg.in/cheggaaa/pb.v1"
"net/http"
)
func main() {
file, e := os.Open(path)
if e != nil {
log.Fatal()
}
defer file.Close()
bar := pb.New(int(fi.Size()))
bar.Start()
req, err := http.NewRequest("POST", url, body)
resp, err := client.Do(req)
bar.Finish()
return
}
Он начинается
12.64 MB/12.64 MB [======================] 100.00% 12.59 MB/s 0s
И по завершении идет в:
12.64 MB/12.64 MB [======================] 100.00% 626.67 KB/s 20s
Является ли это потому, что обработчик HTTP Req считывает файл в память и приращением прогресс бар? Что мне не хватает?
Я проверил это сообщение, (Go: Tracking POST request progress), но я не вижу, как это отличается от библиотеки, которую я использую. Я ранее пробовал использовать io.Copy
в буфере с считывателем индикаторов выполнения, но как только запрос отправлен, он делает то же самое.
Ваш код не заполнен. Пожалуйста, предоставьте [Минимальный, Полный и Подтверждаемый пример] (http://stackoverflow.com/help/mcve). –