AssetStorageStrategy
AssetStorageStrategy
The AssetPersistenceStrategy determines how Asset files are physically stored and retrieved.
Signature
interface AssetStorageStrategy extends InjectableStrategy {
writeFileFromBuffer(fileName: string, data: Buffer): Promise<string>;
writeFileFromStream(fileName: string, data: Stream): Promise<string>;
readFileToBuffer(identifier: string): Promise<Buffer>;
readFileToStream(identifier: string): Promise<Stream>;
deleteFile(identifier: string): Promise<void>;
fileExists(fileName: string): Promise<boolean>;
toAbsoluteUrl?(request: Request, identifier: string): string;
}
Extends
Members
writeFileFromBuffer
method
type:
(fileName: string, data: Buffer) => Promise<string>
Writes a buffer to the store and returns a unique identifier for that
file such as a file path or a URL.
writeFileFromStream
method
type:
(fileName: string, data: Stream) => Promise<string>
Writes a readable stream to the store and returns a unique identifier for that
file such as a file path or a URL.
readFileToBuffer
method
type:
(identifier: string) => Promise<Buffer>
Reads a file based on an identifier which was generated by the writeFile
method, and returns the as a Buffer.
readFileToStream
method
type:
(identifier: string) => Promise<Stream>
Reads a file based on an identifier which was generated by the writeFile
method, and returns the file as a Stream.
deleteFile
method
type:
(identifier: string) => Promise<void>
Deletes a file from the storage.
fileExists
method
type:
(fileName: string) => Promise<boolean>
Check whether a file with the given name already exists. Used to avoid
naming conflicts before saving the file.
toAbsoluteUrl
method
type:
(request: Request, identifier: string) => string
Convert an identifier as generated by the writeFile… methods into an absolute
url (if it is not already in that form). If no conversion step is needed
(i.e. the identifier is already an absolute url) then this method
should not be implemented.