package router import ( "crypto/rand" "file-manger-server/db" "file-manger-server/domain" "file-manger-server/util" "fmt" "github.com/gin-gonic/gin" "strings" ) func UploadInfo(c *gin.Context) { //获取用户数据信息 claims, err := util.ValidateTokenToMyClaims(c.GetHeader("auth-sign")) if err != nil { c.JSON(200, CreateResultError(400, "token错误")) return } var user domain.User db.Engin.Table("user").Where("id =? ", claims.Id).Get(&user) tid := ToHexBytes(random32Bytes()) db.FileUserDao{}.Insert(tid, user.Id) c.JSON(200, CreateResultData(gin.H{ "transactionId": tid, })) } func ToHexBytes(bytes []byte) string { var hexBytes string for b := range bytes { hexBytes = fmt.Sprint(hexBytes, fmt.Sprintf("%02X", bytes[b])) } return strings.TrimSpace(hexBytes) } func random32Bytes() []byte { randomBytes := make([]byte, 32) _, err := rand.Read(randomBytes) if err != nil { panic(err) // 处理错误(如随机源不可用) } // 直接使用 randomBytes(原始二进制) //fmt.Printf("Raw Bytes: %v\n", randomBytes) return randomBytes }