在开发工程中,有时候后通过后台管理添加的文件名各种各样的,严格来说要对图片进行重命名的(例如:图片上传的是中文名,如果返回给前端,都是编码汉字编码以后得名字),那么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))
}
重命名前.png
重命名后.png
网友评论