diff --git a/cipher/cipher.go b/cipher/cipher.go index d106108..b47cbc8 100644 --- a/cipher/cipher.go +++ b/cipher/cipher.go @@ -149,7 +149,7 @@ func (c *RsaCipher) Decrypt(cipherText []byte) ([]byte, error) { n := big.NewInt(0).SetBytes(text[i*rsaBlockSize : (i+1)*rsaBlockSize]) m := big.NewInt(0).Exp(n, big.NewInt(int64(c.key.publicKey.E)), c.key.publicKey.N) b := m.Bytes() - index := bytes.IndexByte(b, '\x00') + index := bytes.IndexByte(b, 0x00) if index < 0 { return nil, fmt.Errorf("解密失败,找不到解密后的文本") } diff --git a/fast.go b/fast.go index bca8f32..4603489 100644 --- a/fast.go +++ b/fast.go @@ -82,6 +82,7 @@ func uploadSHA1(filename, fileSize, totalHash, blockHash string, targetCID uint6 if *verbose { log.Printf("initupload的链接是:%s", uploadURL) log.Printf("sig的值是:%s", sig) + log.Printf("token的值是:%s", token) log.Printf("k_ec的值是:%s", encodedToken) } diff --git a/main.go b/main.go index e73950c..07407e2 100644 --- a/main.go +++ b/main.go @@ -575,10 +575,12 @@ func main() { files := make([]fileInfo, 0, len(flag.Args())) cidMap := make(map[string]uint64) for _, file := range flag.Args() { + file = filepath.Clean(file) info, err := os.Stat(file) if err != nil { log.Printf("获取 %s 的信息出现错误:%v", file, err) } + if info.IsDir() { // 上传文件夹 if *recursive { @@ -586,11 +588,15 @@ func main() { if d == nil { return fmt.Errorf("获取文件夹 %s 的信息出现错误,取消上传该文件夹:%w", path, err) } + + path = filepath.Clean(path) + if d.IsDir() { if err != nil { log.Printf("获取文件夹 %s 的信息出现错误,取消上传该文件夹:%v", path, err) return fs.SkipDir } + if path == file { var filename string if path == "." { @@ -602,19 +608,25 @@ func main() { } else { filename = filepath.Base(path) } + cid, err := createDir(config.CID, filename) if err != nil { return err } + cidMap[path] = cid + return nil } + pdir := filepath.Dir(path) if pid, ok := cidMap[pdir]; ok { cid, err := createDir(pid, d.Name()) + if err != nil { return err } + cidMap[path] = cid } else { return fmt.Errorf("没有创建文件夹 %s ,取消上传 %s", filepath.Base(pdir), path) @@ -624,6 +636,7 @@ func main() { log.Printf("获取文件 %s 的信息出现错误,取消上传该文件:%v", path, err) return nil } + pdir := filepath.Dir(path) if pid, ok := cidMap[pdir]; ok { files = append(files, fileInfo{ diff --git a/oss.go b/oss.go index 7f9591b..bf1ebb2 100644 --- a/oss.go +++ b/oss.go @@ -64,6 +64,7 @@ func getURLJSON(url string) (v *fastjson.Value, e error) { var p fastjson.Parser v, err = p.ParseBytes(body) checkErr(err) + return v, nil }