Browse Source

调整生成zip导致linux不能解压的bug

master
453530270@qq.com 2 years ago
parent
commit
b15be9a298
  1. 14
      fssc/internal/util/util.go
  2. 16
      fssc/web/wbconsole.tmpl

14
fssc/internal/util/util.go

@ -76,25 +76,23 @@ func CompressToZip(dest string, currentPath string, paths []string) error {
if err != nil { if err != nil {
return err return err
} }
// 将压缩方法设置为deflate
header.Method = zip.Deflate
// 监听的工作目录作为文件的结尾,然后取相对路径 // 监听的工作目录作为文件的结尾,然后取相对路径
header.Name, err = filepath.Rel(filepath.Dir(config.G.FilePath), path)
// 在zip存档中设置文件的相对路径 // 在zip存档中设置文件的相对路径
//header.Name, err = filepath.Rel(filepath.Dir(src), path) header.Name, err = filepath.Rel(filepath.Dir(config.G.FilePath), path)
if err != nil { if err != nil {
return err return err
} }
// 转换为Unix风格的路径分隔符
header.Name = filepath.ToSlash(header.Name)
// 目录需要拼上一个 "/" ,否则会出现一个和目录一样的文件在压缩包中 // 目录需要拼上一个 "/" ,否则会出现一个和目录一样的文件在压缩包中
if info.IsDir() { if info.IsDir() {
// header.Name += string(os.PathSeparator)
header.Name += "/" header.Name += "/"
} else { } else {
// 替换一下分隔符,zip不支持 "\\" // 将压缩方法设置为deflate
header.Name = strings.ReplaceAll(header.Name, "\\", "/") header.Method = zip.Deflate
} }
// fmt.Printf("zip header:%v\n", header.Name) // fmt.Printf("zip header:%v\n", header.Name)
// 创建写入头的writer // 创建写入头的writer

16
fssc/web/wbconsole.tmpl

@ -158,6 +158,7 @@
var chkall = true; var chkall = true;
var chknum=0; var chknum=0;
var scip=""; //目标服务器ip var scip=""; //目标服务器ip
var urlpath="{{$.UrlPath}}";// 当前的操作目录
$(function(){ $(function(){
// read sessionStorage // read sessionStorage
@ -170,6 +171,11 @@
// click function // click function
$("#entsip").on("click",function(){ $("#entsip").on("click",function(){
tgfs()
})
// 目标服务器的文件信息
var tgfs=function(){
// //
scip = $("#scip").val(); scip = $("#scip").val();
// ip storage // ip storage
@ -182,11 +188,13 @@
gescinfo(scip) gescinfo(scip)
// //
$("#rstatus").append(html) $("#rstatus").append(html)
}) }
// 获取目标服务器的信息 // 获取目标服务器的信息
var gescinfo=function(scip){ var gescinfo=function(scip){
var url="http://"+scip+":9099/sc?callback" // 客户端的状态地址
var url="http://"+scip+":9099/sc?p="+urlpath
//
var html=""; var html="";
$.getJSON(url,function(res){ $.getJSON(url,function(res){
// res.curdir // res.curdir
@ -209,7 +217,9 @@
// append to html // append to html
$("#tgsc").html(html) $("#tgsc").html(html)
writelog(scip+"获取数据:"+res.data.list.length+"条数据" ) writelog(scip+"获取数据:"+res.data.list.length+"条数据" )
$("#sc01").text(res.curdir); // 客户端监控目录
$("#sc01").text(res.workdir);
$("#sc02").text(res.curdir);
}); });
} }

Loading…
Cancel
Save