HashedAssetNamingStrategy
HashedAssetNamingStrategy
An extension of the DefaultAssetNamingStrategy which prefixes file names with
the type ('source'
or 'preview'
) as well as a 2-character sub-directory based on
the md5 hash of the original file name.
This is an implementation of the technique knows as "hashed directory" file storage, and the purpose is to reduce the number of files in a single directory, since a very large number of files can lead to performance issues when reading and writing to that directory.
With this strategy, even with 200,000 total assets stored, each directory would only contain less than 800 files.
Signature
class HashedAssetNamingStrategy extends DefaultAssetNamingStrategy {
generateSourceFileName(ctx: RequestContext, originalFileName: string, conflictFileName?: string) => string;
generatePreviewFileName(ctx: RequestContext, originalFileName: string, conflictFileName?: string) => string;
}
- Extends:
DefaultAssetNamingStrategy
generateSourceFileName
method
(ctx: RequestContext, originalFileName: string, conflictFileName?: string) => string
generatePreviewFileName
method
(ctx: RequestContext, originalFileName: string, conflictFileName?: string) => string