Слияние кода завершено, страница обновится автоматически
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 )