Files
likedream/internal/utils/file.go
T
2025-11-13 00:17:49 +08:00

70 lines
1.2 KiB
Go

package utils
import (
"fmt"
"image"
"image/png"
"likedream-goframe/internal/framework/logger"
"os"
)
// ReadImg 从文件读取imgage
func ReadImg(imgFile string) (image.Image, error) {
f, err := os.Open(imgFile)
if err != nil {
return nil, err
}
img, s, err := image.Decode(f)
if err != nil {
return nil, err
}
logger.Logger.Info(s)
f.Close()
return img, nil
}
// IsBadImg 检测图片是否损坏,损坏为true,没损坏为false
func IsBadImg(imgFile string) bool {
f, err := os.Open(imgFile)
defer f.Close()
if err != nil {
return true
}
_, err1 := png.Decode(f)
if err1 != nil {
return true
}
return false
}
// PathExistForCreate 检测目录是否存在,不存在就创建
func PathExistForCreate(path string) {
exists, _ := PathExists(path)
if !exists {
os.MkdirAll(path, os.ModePerm)
}
}
// PathExists 检测文件夹或文件是否存在
func PathExists(path string) (bool, error) {
_, err := os.Stat(path)
if err == nil {
return true, nil
}
if os.IsNotExist(err) {
return false, nil
}
return false, err
}
// DeleteFile 删除文件
func DeleteFile(path string) {
// 删除文件
err := os.Remove(path)
if err != nil {
fmt.Println("Error:", err)
return
}
}