Commit e81cb9d5 authored by szh's avatar szh

update

parent 6251eb0b
......@@ -264,11 +264,15 @@ func (r *Reader) Read(p []byte) (n int,err error) {
}
func DownLoadFile(url string,file string) error {
var (
buf = make([]byte, 32*1024)
)
r,err := http.Get(url)
if err != nil {
return err
}
defer func() {
DPercent.Current = r.ContentLength
r.Body.Close()
}()
......@@ -280,10 +284,40 @@ func DownLoadFile(url string,file string) error {
f.Close()
}()
DPercent.Total = r.ContentLength
reader := &Reader{
Reader:r.Body,
Total:r.ContentLength,
//reader := &Reader{
// Reader:r.Body,
// Total:r.ContentLength,
//}
//io.Copy(f,reader)
for {
//读取bytes
nr, er := r.Body.Read(buf)
if nr > 0 {
//写入bytes
nw, ew := f.Write(buf[0:nr])
//数据长度大于0
if nw > 0 {
DPercent.Current += int64(nw)
}
//写入出错
if ew != nil {
err = ew
break
}
//读取是数据长度不等于写入的数据长度
if nr != nw {
err = io.ErrShortWrite
break
}
}
io.Copy(f,reader)
if er != nil {
if er != io.EOF {
err = er
}
break
}
//没有错误了快使用 callback
}
return nil
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment