@anchan828/nest-storage
Advanced tools
Weekly downloads
Readme
npm i @anchan828/nest-storage @anchan828/nest-storage-express
You need to import 2 modules
@Module({
imports: [
StorageModule.register({
bucket: "bucket",
cacheDir: "path/to/cacheDir",
}),
LocalStorageProviderModule.register(),
],
})
export class AppModule {}
export class Service {
constructor(private readonly service: StorageService) {}
public async uploadFile(): Promise<void> {
const dataPath = "local-path.txt";
await this.service.upload(dataPath, "path/to/test.txt");
}
}
You can set some storage providers.
Provider | Pakcage |
---|---|
Local (express) | @anchan828/nest-storage-express |
Google Cloud Storage | @anchan828/nest-storage-gcs |
Amazon S3 | @anchan828/nest-storage-s3 |
You can get signed URL
await this.service.getSignedUrl(filename, {
action: "upload" | "download" | "delete",
// Milliseconds. default is 900000 = 15 mins
expires: number,
});
// => /_signed_url/bucket/test.txt?signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY3Rpb24iOiJ1cGxvYWQiLCJleHBpcmVzIjo5MDAwMDAsImJ1Y2tldCI6ImJ1Y2tldCIsImZpbGVuYW1lIjoidGVzdC50eHQiLCJpYXQiOjE1NzkzMjM2MTYsImV4cCI6MTU4MDIyMzYxNn0.iJfq01VBExCvlGhKcT8hQ9d2lGTLW4miiACX3sG5HO8
You can use the option to customize the file name when downloading file.
If you use this, content-disposition: attachment; filename=\"${filename}\"
will be added to the header when downloading.
await this.service.getSignedUrl(filename, {
action: "download",
responseDispositionFilename: "changed-filename.txt",
});
FAQs
> TODO: description
The npm package @anchan828/nest-storage receives a total of 494 weekly downloads. As such, @anchan828/nest-storage popularity was classified as not popular.
We found that @anchan828/nest-storage demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket installs a Github app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.