|
|
@@ -65,15 +65,15 @@ func tryLockFile(file string) (unlock func(), ok bool) {
|
|
|
|
|
|
type progressReader struct {
|
|
|
io.Reader
|
|
|
- filepath string
|
|
|
+ filePath string
|
|
|
total, transferred int64
|
|
|
label string // "上传"或"下载"
|
|
|
ctx context.Context
|
|
|
doneLogged int32
|
|
|
}
|
|
|
|
|
|
-func newProgressReader(r io.Reader, filepath string, total, transferred int64, label string, ctx context.Context) *progressReader {
|
|
|
- pr := &progressReader{Reader: r, filepath: filepath, total: total, transferred: transferred, label: label, ctx: ctx}
|
|
|
+func newProgressReader(r io.Reader, filePath string, total, transferred int64, label string, ctx context.Context) *progressReader {
|
|
|
+ pr := &progressReader{Reader: r, filePath: filePath, total: total, transferred: transferred, label: label, ctx: ctx}
|
|
|
go pr.startProgressLogger()
|
|
|
return pr
|
|
|
}
|
|
|
@@ -85,7 +85,7 @@ func (p *progressReader) Read(buf []byte) (int, error) {
|
|
|
}
|
|
|
if err == io.EOF && atomic.CompareAndSwapInt32(&p.doneLogged, 0, 1) {
|
|
|
transferred := atomic.LoadInt64(&p.transferred)
|
|
|
- baseapp.Logger.Infof("[%s] 文件%q%s进度: 100.00%%, 剩余: %d字节, 总大小: %d字节", MODULE_NAME, p.filepath, p.label, p.total-transferred, p.total)
|
|
|
+ baseapp.Logger.Infof("[%s] 文件%q%s进度: 100.00%%, 剩余: %d字节, 总大小: %d字节", MODULE_NAME, p.filePath, p.label, p.total-transferred, p.total)
|
|
|
}
|
|
|
return n, err
|
|
|
}
|
|
|
@@ -107,7 +107,7 @@ func (p *progressReader) startProgressLogger() {
|
|
|
}
|
|
|
|
|
|
progress := float64(transferred) / float64(p.total) * 100
|
|
|
- baseapp.Logger.Infof("[%s] 文件%q%s进度: %.2f%%, 剩余: %d字节, 总大小: %d字节", MODULE_NAME, p.filepath, p.label, progress, p.total-transferred, p.total)
|
|
|
+ baseapp.Logger.Infof("[%s] 文件%q%s进度: %.2f%%, 剩余: %d字节, 总大小: %d字节", MODULE_NAME, p.filePath, p.label, progress, p.total-transferred, p.total)
|
|
|
case <-p.ctx.Done():
|
|
|
return
|
|
|
}
|