1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/suzong-SixImageServer

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
file.go 1.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
林夕 Отправлено 28.11.2018 18:10 5e314db
package helper
import(
"github.com/seehuhn/mt19937"
"time"
"encoding/binary"
"encoding/hex"
"strings"
"fmt"
"os"
)
//根据图片id获取文件
func ImageID2Path(imageid string)string{
return fmt.Sprintf("%s/%s/%s/%s/%s/%s/%s/%s/%s.jpg",Conf.Storage,imageid[0:2],imageid[2:4],imageid[4:6],imageid[6:8],imageid[8:10],imageid[10:12],imageid[12:14],imageid[14:16])
}
//生成id 随机fileid生成器代码 (最后是这样形式的:6A778903AD673478,16位十六进制字符串,很适合存储在数据库中。)
func MakeImageID()string{
mt:=mt19937.New()
mt.Seed(time.Now().UnixNano())
var buf = make([]byte, 8)
binary.BigEndian.PutUint64(buf, mt.Uint64())
return strings.ToUpper(hex.EncodeToString(buf))
}
//判断是否存在文件 false:不存在
func FileExist(filename string)bool{
if _, err := os.Stat(filename); err != nil {
return false
}else{
return true
}
}
//创建整棵存储树
func BuildTree(imageid string)error{
return os.MkdirAll(fmt.Sprintf("%s/%s/%s/%s/%s/%s/%s/%s",Conf.Storage,imageid[0:2],imageid[2:4],imageid[4:6],imageid[6:8],imageid[8:10],imageid[10:12],imageid[12:14]),0666)
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/suzong-SixImageServer.git
git@api.gitlife.ru:oschina-mirror/suzong-SixImageServer.git
oschina-mirror
suzong-SixImageServer
suzong-SixImageServer
master