diff --git a/client/client.go b/client/client.go index ee51364..02420b0 100644 --- a/client/client.go +++ b/client/client.go @@ -161,11 +161,11 @@ func startDownloadTask(filePath string, tempFilePath string, b *block, client tr log.Fatalf("下载异常 : %v\n", err) } - err = createFileOnly(tempFilePath) + fp, err := os.OpenFile(tempFilePath, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0755) if err != nil { - log.Println(err.Error()) - panic(err) + log.Fatalf("文件打开异常: %s\n", err) } + defer fp.Close() var recvSize int64 = 0 @@ -180,7 +180,7 @@ func startDownloadTask(filePath string, tempFilePath string, b *block, client tr recvSize += int64(blockSize) if blockSize != 0 { - err := appendToFile(tempFilePath, block) + _, err = fp.Write(block) if err != nil { log.Fatalf("临时文件保存异常: %s\n", err) } @@ -419,7 +419,7 @@ func appendToFile(fileName string, content []byte) error { // 查找文件末尾的偏移量 n, _ := f.Seek(0, os.SEEK_END) // 从末尾的偏移量开始写入内容 - _, err = f.WriteAt(content, n) + _, err = f.WriteAt([]byte(content), n) } defer f.Close() return err