Skip to content

下载文件

刘元涛 edited this page Jan 8, 2023 · 1 revision

参考测试

测试文档

单线程下载

参考代码

import (
	"fmt"
        "github.com/lytdev/go-mykit/gdownload"
)

onWatch := func(current, total int, percentage float64) {
	fmt.Printf("\r当前已下载大小 %f MB, 下载进度:%.2f%%, 总大小 %f MB",
	float64(current)/1024/1024,percentage,float64(total)/1024/1024,)
}

downloader := gdownload.NewWithSingle()

err := downloader.Download(downloadUrl, "../testdata/example2.mp4", true, onWatch)
if err != nil {
	fmt.Println(err)
	return
}

多线程分片下载

参考代码

import (
	"fmt"
        "github.com/lytdev/go-mykit/gdownload"
)

onWatch := func(current, total int, percentage float64) {
	fmt.Printf("\r当前已下载大小 %f MB, 下载进度:%.2f%%, 总大小 %f MB",
	float64(current)/1024/1024,percentage,float64(total)/1024/1024,)
}

downloader := gdownload.NewWithMulti(12)
err = downloader.MultiDownload(wc, downloadUrl, "../testdata/example2.mp4", int(resp.ContentLength))
if err != nil {
	fmt.Println(err)
	return
}
Clone this wiki locally