Filesrocket is an package of Node.js that allows you to manage your files with any cloud storage service (Local, Cloudinary, Amazon S3) through the use of strategies called Services
The Filesrocket Docs are packed with awesome stuff and tell you everything you need to know about using and configuring Filesrocket.
You can start using Filesrocket in easy steps.
$ mkdir filesrocket-example
$ cd filesrocket-example
$ npm init -y && tsc --init
$ npm install express @filesrocket/core @filesrocket/local
$ npm install @types/express typescript ts-node -D
Create src/index.ts
and copy following content.
- Initialize app
import express from "express";
const app = express();
app.listen(3030, () => {
console.log("App execute in port:3030");
});
- Register the services you are going to use
import { Filesrocket } from "@filesrocket/core";
import { LocalService } from "@filesrocket/local";
// Initialize
const filesrocket = new Filesrocket();
// Config your service
const service = new LocalService({
pagination: { default: 15, max: 50 },
host: "http://localhost:3030",
directory: "uploads"
});
// We register the service
filesrocket.register("local", service);
- Register your endpoints.
const controller = filesrocket.controller("local");
// Create/Upload files.
app.post("/files", async (req, res) => {
const files = await controller.create(req, {});
res.status(200).json(files);
})
// List files.
app.get("/files", async (req, res) => {
const query = req.query;
const files = await controller.list(query);
res.status(200).json(files);
})
// Remove files.
app.delete("/files", async (req, res) => {
const query = req.query;
const { id } = query;
const files = await controller.remove(id, query)
res.status(200).json(files)
})
Expose static files.
app.use("/uploads", express.static(path.resolve("uploads")));
We run the server
npx ts-node src/index.ts
With this simple example you can interact with the files, click on the following link: http://localhost:3030/files
- 🐦 Twitter - Ivan Zaldivar
- 🌐 Website - filesrocket.com
- 📝 Blog - thebug.hashnode.dev
Filesrocket is MIT Licenced