realdebrid-torrent/download.go

41 lines
575 B
Go

package main
import (
"github.com/schollz/progressbar/v3"
"io"
"net/http"
"os"
)
func downloadFile(url, path string) error {
output, err := os.Create(path)
if err != nil {
return err
}
response, err := http.Get(url)
if err != nil {
return err
}
bar := progressbar.DefaultBytes(
response.ContentLength,
"downloading",
)
_, err = io.Copy(io.MultiWriter(output, bar), response.Body)
if err != nil {
return err
}
if err := output.Close(); err != nil {
return err
}
if err := response.Body.Close(); err != nil {
return err
}
return nil
}