Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client interface { // Put returns link {Domain}/{Bucket}/{Category}/{RandPrefix}/{Filename} Put(ctx context.Context, category, filename string, size int64, body io.Reader) (link string, err error) // PutFile is alias Put with opening local file PutFile(ctx context.Context, category, filepath string) (link string, err error) // PutData is alias Put PutData(ctx context.Context, category, filename string, data []byte) (link string, err error) // PutImage ... PutImage( ctx context.Context, category, filename string, img image.Image, typ ImageType) (link string, err error) // PutMultipartThumbnail ... PutMultipartThumbnail( ctx context.Context, category string, file *multipart.FileHeader, typ ImageType, maxPixelSize uint) (link string, err error) }
Client of S3 storage
For opening use func Open
type Config ¶
type Config struct { RandPrefixLen int `desc:"rand file prefix for safe" default:"64"` Local bool `desc:"enable local storage for files" default:"true"` LocalDir string `desc:"local storage directory" default:"media"` LocalURL string `desc:"target url file prefix" default:"/media/"` S3AccessKey string `encoding:"manual" desc:"access key or login or user, for example: 32423_goservice"` S3SecretKey string `encoding:"manual" desc:"secret key or password"` S3AuthToken string `encoding:"manual" desc:"optional"` S3EndPoint string `desc:"provider api url, for example: s3.selcdn.ru"` S3Domain string `desc:"storage domain, for example: https://56756.selcdn.ru"` S3Region string `desc:"for example: ru-1a"` S3Bucket string `desc:"service bucket root, for example: goservice"` S3Insecure bool }
Config for local storage or s3 connection
type FinishFunc ¶
type FinishFunc func(ctx context.Context, category, filename, link string, size int64, err error, dur time.Duration)
Callbacks
type Storage ¶
type Storage interface { Client // SetBeginCallback func SetBeginCallback(BeginFunc) // SetFinishCallback func SetFinishCallback(FinishFunc) }
Storage client with config
Click to show internal directories.
Click to hide internal directories.