filestore

package
v2.0.25 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 18, 2023 License: Apache-2.0 Imports: 8 Imported by: 1

Documentation

Overview

Package filestore provide a storage backend based on the local file system.

FileStore is a storage backend used as a tus.DataStore in tus.NewTus. It stores the uploads in a directory specified in two different files: The `[id].info` files are used to store the fileinfo in JSON format. The `[id]` files without an extension contain the raw binary data uploaded. No cleanup is performed, so you may want to run a cronjob to ensure your disk is not filled up with old and finished uploads.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FileStore

type FileStore struct {
	// Relative or absolute path to store files in. FileStore does not check
	// whether the path exists, use os.MkdirAll in this case on your own.
	Path string
}

FileStore See the tus.DataStore interface for documentation about the different methods.

func New

func New(path string) FileStore

New creates a new file based storage backend. The directory specified will be used as the only storage entry. This method does not check whether the path exists, use os.MkdirAll to ensure. In addition, a locking mechanism is provided.

func (FileStore) AsConcatableUpload

func (store FileStore) AsConcatableUpload(upload tus.Upload) tus.ConcatableUpload

func (FileStore) AsLengthDeclarableUpload

func (store FileStore) AsLengthDeclarableUpload(upload tus.Upload) tus.LengthDeclarableUpload

func (FileStore) AsTerminatableUpload

func (store FileStore) AsTerminatableUpload(upload tus.Upload) tus.TerminatableUpload

func (FileStore) GetUpload

func (store FileStore) GetUpload(ctx context.Context, id string) (tus.Upload, error)

func (FileStore) NewUpload

func (store FileStore) NewUpload(ctx context.Context, info tus.FileInfo) (tus.Upload, error)

func (FileStore) UseIn

func (store FileStore) UseIn(composer *tus.StoreComposer)

UseIn sets this store as the core data store in the past composer and adds all possible extension to it.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL