An example application to demonstrate file uploads and downloads for LoopBack 4
This application exposes POST /files endpoint that accepts
multipart/form-data based file uploads. The uploaded files can be listed using
GET /files and individual files can be downloaded using
GET /files/<filename>.
-
- Expose
POST /filesendpoint to allow file uploads
- Expose
-
FileUploadService - an Express middleware from multer
-
A service provider that returns a configured
multerrequest handlerThe file upload is configured with
multeroptions in src/application.ts as follows:// Configure file upload with multer options const multerOptions: multer.Options = { storage: multer.diskStorage({ // Upload files to `.sandbox` destination: path.join(__dirname, '../.sandbox'), // Use the original file name as is filename: (req, file, cb) => { cb(null, file.originalname); }, }), }; this.configure(FILE_UPLOAD_SERVICE).to(multerOptions);
-
-
- Expose
GET /filesendpoint to list uploaded files - Expose
GET /files/{filename}endpoint to download a file
- Expose
Start the app:
npm startThe application will start on port 3000. Open http://localhost:3000 in your
browser. You can try to upload a few files using the web UI or API explorer.
By default, the uploaded files will be stored in .sandbox folder under the
application root directory. The directory can be configured via
fileStorageDirectory of application config.
Run npm test from the root folder.
See all contributors.
MIT
