aboutsummaryrefslogtreecommitdiffstats
path: root/backend/main.js
blob: ae330b1a2af45a9e8b051c532803472c31316b4e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
const express = require("express");
const formidable = require('formidable');
const fs = require("fs").promises

const app = express();
app.use(express.static('static'))
app.use(express.json());
const PORT = process.env.PORT || 8000;
const uploadDir = __dirname + "/static/upload"

app.get('/', () => {

})
app.post('/upload', (req, res, next) => {
  const form = formidable({ multiples: true, uploadDir, keepExtensions: true });

  form.parse(req, (err, fields, files) => {
    if (err) {
      next(err);
      return;
    }
    res.send("ok");
    console.log({ fields, files });
  });
});
//    getPathFromName
const gpfn = name => uploadDir + "/" + name
app.post('/delete-files', async (req, res) => {
  for (const n of req.body.names) {
    await fs.unlink(gpfn(n))
  }
  res.send("ok")
})
app.post('/rename-file', async (req, res) => {
  let { nn, on } = req.body
  if (!nn.includes('.')) nn += '.' + on.split('.').pop()
  await fs.rename(gpfn(on), gpfn(nn))
  res.send("ok")
})
app.get('/files', async (_, res) => {
  res.json(await fs.readdir(__dirname + '/static/upload'))
});
app.listen(PORT, () => {
  console.log("Server listening on port " + PORT);
})