Răsfoiți Sursa

修复 tar 解压文件问题

Signed-off-by: 716 <[email protected]>
716 4 ani în urmă
părinte
comite
445a79b0e4
2 a modificat fișierele cu 4 adăugiri și 16 ștergeri
  1. 2 7
      model/unarchiveFile.go
  2. 2 9
      model/unarchiveFile_test.go

+ 2 - 7
model/unarchiveFile.go

@@ -1,7 +1,6 @@
 package model
 
 import (
-	"archive/tar"
 	"archive/zip"
 	"bytes"
 	"golang.org/x/text/encoding/simplifiedchinese"
@@ -17,7 +16,6 @@ import (
 	"path"
 	"path/filepath"
 	"strings"
-	"unicode/utf8"
 )
 
 // UnArchiveFile 7z 以外的都能搞定中文编码的问题,但是 7z 有梗,需要单独的库去解析,且编码是解决不了的,以后他们搞定了再测试
@@ -61,13 +59,10 @@ func UnArchiveFile(fileFullPath, desRootPath string) error {
 			if f.IsDir() == true {
 				return nil
 			}
-			zfh, ok := f.Header.(tar.Header)
-			if ok {
-				err := processOneFile(f, utf8.Valid([]byte(zfh.Name)), desRootPath)
-				if err != nil {
+			err := processOneFile(f, false, desRootPath)
+			if err != nil {
 					return err
 				}
-			}
 			return nil
 		})
 		if err != nil {

+ 2 - 9
model/unarchiveFile_test.go

@@ -7,16 +7,9 @@ import (
 func TestUnArchiveFile(t *testing.T) {
 
 	desRoot := "C:\\Tmp"
-	//file := "C:\\Tmp\\[subhd]_0_162236051219240.zip"
 	//file := "C:\\Tmp\\123.zip"
-	file := "C:\\Tmp\\456.rar"
-	//file := "C:\\Tmp\\Tmp.7z"
-	//file := "C:\\Tmp\\[zimuku]_0_[zmk.pw]奥斯陆.Oslo.[WEB.1080P]中英文字幕.zip"
-
-	//err := archiver.Unarchive(file, desRoot)
-	//if err != nil {
-	//	t.Fatal(err)
-	//}
+	//file := "C:\\Tmp\\456.rar"
+	file := "C:\\Tmp\\789.tar"
 	err := UnArchiveFile(file, desRoot)
 	if err != nil {
 		t.Fatal(err)