vuetify-file-browser-server
Version:
Server for Vuetify File Browser
58 lines (42 loc) • 1.61 kB
Markdown
# Vuetify File Browser Server & Backend SDK
Backend for [Vuetify File Browser Component](https://www.npmjs.com/package/vuetify-file-browser)
## Usage
### As standalone server
```bash
git clone https://github.com/semeniuk/vuetify-file-browser-server
cd vuetify-file-browser-server
cp .env.defaults .env
```
Then set configuration properties in `.env` file. After this run the server:
```bash
npm start
```
### As Express.js router
```bash
npm i vuetify-file-browser-server
```
```js
const express = require("express"),
app = express(),
cors = require("cors"),
bodyParser = require("body-parser"),
path = require("path"),
sdk = require("vuetify-file-browser-server/sdk");
// enable CORS
app.use(cors());
// parse incoming request body
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
// get AWS configuration from process.env
const { AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION, AWS_S3_BUCKET, FILEBROWSER_AWS_ROOT_PATH } = process.env;
// setup routes
app.use("/storage", sdk.Router([
new sdk.LocalStorage(path.resolve(__dirname, "./files")),
new sdk.S3Storage(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION, AWS_S3_BUCKET, FILEBROWSER_AWS_ROOT_PATH)
], {
uploadPath: path.resolve(__dirname, "./upload")
}));
app.listen(process.env.PORT || 8081);
```
### Custom implementation
See [`vuetify-file-browser-server/sdk/Router`](https://github.com/semeniuk/vuetify-file-browser-server/blob/master/sdk/Router.js) for example how to use `LocalStorage` and `S3Storage`