Go语言开发文件重命名

在开发工程中,有时候后通过后台管理添加的文件名各种各样的,严格来说要对图片进行重命名的(例如:图片上传的是中文名,如果返回给前端,都是编码汉字编码以后得名字),那么Go语言开发如何对件进行重命名的呢,通过Go语言可以简单写一个重命名的小工具

package main

import (
    "crypto/md5"
    "encoding/hex"
    "fmt"
    "io/ioutil"
    "os"
    "strings"
)

func main() {
    ReSetPhotoNames()
}

func ReSetPhotoNames() {
    photoFolder := `G:\test\`
    files, _ := ioutil.ReadDir(photoFolder)
    for _, file := range files {
        if file.IsDir() {
            continue
        } else {
            fileName := file.Name()
            fmt.Println(fileName)
            fmt.Println(GetMD5Hash(fileName))
            newFileName := GetMD5Hash(file.Name())
            dotIndex := strings.LastIndex(fileName, ".")
            if dotIndex != -1 && dotIndex != 0 {
                newFileName += fileName[dotIndex:]
                fmt.Println(newFileName)
            }
            err := os.Rename(photoFolder+fileName, photoFolder+newFileName)
            if err != nil {
                fmt.Println("reName Error", err)
                continue
            }
        }
    }
}

func GetMD5Hash(text string) string {
    haser := md5.New()
    haser.Write([]byte(text))
    return hex.EncodeToString(haser.Sum(nil))
}
Go语言开发文件重命名_第1张图片
重命名前.png

Go语言开发文件重命名_第2张图片
重命名后.png

你可能感兴趣的:(Go语言开发文件重命名)