Comment some print.

This commit is contained in:
zicla 2019-04-28 22:29:38 +08:00
parent 270af9260d
commit 177ee3a6fb
2 changed files with 8 additions and 92 deletions

View File

@ -1,10 +1,8 @@
package rest package rest
import ( import (
"archive/zip"
"fmt" "fmt"
"github.com/eyebluecn/tank/code/core" "github.com/eyebluecn/tank/code/core"
"github.com/eyebluecn/tank/code/tool/builder"
"github.com/eyebluecn/tank/code/tool/download" "github.com/eyebluecn/tank/code/tool/download"
"github.com/eyebluecn/tank/code/tool/result" "github.com/eyebluecn/tank/code/tool/result"
"github.com/eyebluecn/tank/code/tool/util" "github.com/eyebluecn/tank/code/tool/util"
@ -12,7 +10,6 @@ import (
"io/ioutil" "io/ioutil"
"net/http" "net/http"
"os" "os"
"path/filepath"
"regexp" "regexp"
"strings" "strings"
"time" "time"
@ -98,6 +95,7 @@ func (this *MatterService) AtomicDownloadDirectory(
this.logger.Info("文件夹 %s 大小为 %s", matter.Name, util.HumanFileSize(sumSize)) this.logger.Info("文件夹 %s 大小为 %s", matter.Name, util.HumanFileSize(sumSize))
//TODO: 文件夹下载的大小限制 //TODO: 文件夹下载的大小限制
//准备zip放置的目录。 //准备zip放置的目录。
destZipDirPath := fmt.Sprintf("%s/%d", GetUserZipRootDir(matter.Username), time.Now().UnixNano()/1e6) destZipDirPath := fmt.Sprintf("%s/%d", GetUserZipRootDir(matter.Username), time.Now().UnixNano()/1e6)
util.MakeDirAll(destZipDirPath) util.MakeDirAll(destZipDirPath)
@ -106,98 +104,17 @@ func (this *MatterService) AtomicDownloadDirectory(
destZipPath := fmt.Sprintf("%s/%s", destZipDirPath, destZipName) destZipPath := fmt.Sprintf("%s/%s", destZipDirPath, destZipName)
//destZipFile, err := os.Create(destZipPath)
//util.PanicError(err)
//
//defer func() {
// err := destZipFile.Close()
// util.PanicError(err)
//}()
//
//zipWriter := zip.NewWriter(destZipFile)
//defer func() {
// err := zipWriter.Close()
// util.PanicError(err)
//}()
//this.zipCompress(matter, GetUserFileRootDir(matter.Username), zipWriter)
util.Zip(matter.AbsolutePath(), destZipPath) util.Zip(matter.AbsolutePath(), destZipPath)
//下载 //下载
download.DownloadFile(writer, request, destZipPath, destZipName, true) download.DownloadFile(writer, request, destZipPath, destZipName, true)
//TODO: 删除临时压缩文件 //删除临时压缩文件
err := os.Remove(destZipPath)
} if err != nil {
this.logger.Error("删除磁盘上的文件出错 %s", err.Error())
//zip压缩一个matter.
func (this *MatterService) zipCompress(matter *Matter, prefix string, zipWriter *zip.Writer) {
if matter == nil {
panic(result.BadRequest("matter不能为nil"))
}
fileInfo, err := os.Stat(matter.AbsolutePath())
this.PanicError(err)
fmt.Println("遍历文件: " + matter.AbsolutePath())
if matter.Dir {
//获取下一级的文件。
prefix = prefix + "/" + matter.Name
sortArray := []builder.OrderPair{
{
Key: "path",
Value: "ASC",
},
}
matters := this.matterDao.List(matter.Uuid, matter.UserUuid, sortArray)
// 通过文件信息,创建 zip 的文件信息
fileHeader, err := zip.FileInfoHeader(fileInfo)
this.PanicError(err)
//写入头信息。目录无需写入内容。目录的头部要去掉斜杠,尾部要加上斜杠。
fileHeader.Name = strings.TrimPrefix(prefix+"/", string(filepath.Separator))
fmt.Println("文件夹头: " + fileHeader.Name)
// 写入文件信息,并返回一个 Write 结构
_, err = zipWriter.CreateHeader(fileHeader)
this.PanicError(err)
for _, subMatter := range matters {
this.zipCompress(subMatter, prefix, zipWriter)
}
} else {
fileHeader, err := zip.FileInfoHeader(fileInfo)
if err != nil {
panic(err)
}
//第一个斜杠不需要。
fileHeader.Name = strings.TrimPrefix(prefix+"/"+matter.Name, string(filepath.Separator))
fmt.Println("文件头部: " + fileHeader.Name)
writer, err := zipWriter.CreateHeader(fileHeader)
if err != nil {
panic(err)
}
file, err := os.Open(matter.AbsolutePath())
_, err = io.Copy(writer, file)
defer func() {
err := file.Close()
this.PanicError(err)
}()
} }
util.DeleteEmptyDir(destZipDirPath)
} }

View File

@ -2,7 +2,6 @@ package util
import ( import (
"archive/zip" "archive/zip"
"fmt"
"github.com/eyebluecn/tank/code/tool/result" "github.com/eyebluecn/tank/code/tool/result"
"io" "io"
"log" "log"
@ -41,7 +40,7 @@ func Zip(srcPath string, destPath string) {
return errBack return errBack
} }
fmt.Println("遍历文件: " + path) //fmt.Println("遍历文件: " + path)
// 通过文件信息,创建 zip 的文件信息 // 通过文件信息,创建 zip 的文件信息
fileHeader, err := zip.FileInfoHeader(fileInfo) fileHeader, err := zip.FileInfoHeader(fileInfo)
@ -60,7 +59,7 @@ func Zip(srcPath string, destPath string) {
prefix = prefix + "/" + fileInfo.Name() prefix = prefix + "/" + fileInfo.Name()
} }
fmt.Println("头部情况: " + fileHeader.Name) //fmt.Println("头部情况: " + fileHeader.Name)
// 写入文件信息,并返回一个 Write 结构 // 写入文件信息,并返回一个 Write 结构
writer, err := zipWriter.CreateHeader(fileHeader) writer, err := zipWriter.CreateHeader(fileHeader)