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))
}
重命名前.png

重命名后.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,001评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,545评论 19 139
  • 对文本添加合适的图片或纹理的填充,可以给文本润色不少,这与一般的纯色或渐变颜色的填充效果很不一样。但在众多优秀的P...
    小斌PPT阅读 7,469评论 2 3
  • 今夜的欢歌 文/成永军(甘肃会宁) 今夜的会师园 灯火阑珊 彩旗招展 上千人齐聚于此 共同度过这个 欢乐祥和的夜晚...
    练笔坊阅读 209评论 0 0
  • 大概在3月的时候 初中同学群里突然间有人问:XX 你是不是结婚了 头像是你和你媳妇吧。然后群里展开了激烈的讨论 然...
    我有壳不怕下雨阅读 902评论 0 0

友情链接更多精彩内容