Skip to main content

File storages

By default we support only file and s3 storage. Later on we will provide storages for another providers, etc.
It could be used like here:

if storage == nil {  storage = NewFsStorage()}ret := make([]string, 0)var filename string// files from POST requestfor _, file := range files {  f, err := file.Open()  if err != nil {    return err  }  bytecontent := make([]byte, file.Size)  _, err = f.Read(bytecontent)  if err != nil {    return err  }  filename, err = storage.Save(&FileForStorage{    Content:           bytecontent,    PatternForTheFile: "*." + strings.Split(file.Filename, ".")[1],    Filename:          file.Filename,  })  if err != nil {    return err  }  err = f.Close()  if err != nil {    return err  }  ret = append(ret, filename)}

Or you can use S3 storage provider for your field in the form, like below:

form := core.NewFormFromModelFromGinContext(ctx, modelI, make([]string, 0), fields, true, "", true)iconField, _ := form.FieldRegistry.GetByName("Icon")s3Storage := core.NewAWSS3Storage("test", &core.AWSConfig{  S3: &core.AWSS3Config{    Region:    "{YOUR_REGION}",    AccessKey: "{YOUR_ACCESS_KEY}",    SecretKey: "{YOUR_SECRET_KEY}",  },})s3Storage.(*core.AWSS3Storage).Bucket = "test"s3Storage.(*core.AWSS3Storage).Domain = "https://{YOUR_PART}.s3.eu-central-1.amazonaws.com/test"iconField.FieldConfig.Widget.(*core.FileWidget).Storage = s3Storage