funccropImage(db *gorm.DB) { if db.Statement.Schema != nil { // 裁剪图片字段并上传到CDN,dummy code for _, field := range db.Statement.Schema.Fields { switch db.Statement.ReflectValue.Kind() { case reflect.Slice, reflect.Array: for i := 0; i < db.Statement.ReflectValue.Len(); i++ { // 从字段中获取数值 if fieldValue, isZero := field.ValueOf(db.Statement.ReflectValue.Index(i)); !isZero { if crop, ok := fieldValue.(CropInterface); ok { crop.Crop() } } } case reflect.Struct: // 从字段中获取数值 if fieldValue, isZero := field.ValueOf(db.Statement.ReflectValue); !isZero { if crop, ok := fieldValue.(CropInterface); ok { crop.Crop() } }