@airdraft/media-adapter-local
v0.1.5
Published
Airdraft local filesystem media adapter — for development and testing
Readme
@airdraft/media-adapter-local
Local filesystem media storage adapter for Airdraft. Saves uploaded files to a directory on disk and serves them as static assets. Intended for local development; use @airdraft/media-adapter-files-sdk or @airdraft/media-adapter-github in production.
Installation
npm install @airdraft/media-adapter-localUsage
import { LocalMediaAdapter } from '@airdraft/media-adapter-local'
import { withMedia } from '@airdraft/plugin-media'
const media = withMedia({
adapter: new LocalMediaAdapter({
root: process.cwd() + '/public',
publicBaseUrl: '', // default: '' → URLs are '/{key}'
}),
storageAdapter: contentAdapter,
prefix: 'uploads',
})Options
| Option | Type | Default | Description |
|---|---|---|---|
| root | string | required | Absolute filesystem path that maps to the URL root. For Next.js: process.cwd() + '/public'. |
| publicBaseUrl? | string | '' | Base URL prepended to keys. Empty string → /{key} (relative). Set to 'https://cdn.example.com' for absolute URLs. |
URL resolution
Given root = '/app/public' and a file uploaded as uploads/hero.jpg:
- File written to:
/app/public/uploads/hero.jpg - URL (default):
/uploads/hero.jpg - URL (with
publicBaseUrl = 'https://cdn.example.com'):https://cdn.example.com/uploads/hero.jpg
Exports
| Export | Description |
|---|---|
| LocalMediaAdapter | Adapter class implementing MediaAdapter from @airdraft/core |
| LocalMediaAdapterOptions | Options type |
Changelog
See CHANGELOG.md.
