var express = require("express");
var router = express.Router();
const { IncomingForm } = require("formidable");
const fs = require("fs");
router.post("/", function (req, res, next) {
let options = {
multiples: true,
keepExtensions: true,
uploadDir: "public/images",
allowEmptyFiles: false,
};
const form = new IncomingForm(options);
let fields = {};
let files = [];
form.on("field", function (name, value) {
fields[name] = value;
});
form.on("file", function (formName, file) {
files.push({ imgUrl: file.path, fileName: file.name });
});
form.on("end", function () {
let pics = [];
files.forEach((item) => {
let oldpath = item.imgUrl;
let prefix = oldpath.substring(0, oldpath.lastIndexOf("\\") + 1);
let fileName = Date.now() + item.fileName;
let newpath = prefix + fileName;
fs.renameSync(oldpath, newpath);
let object = {};
object.imgUrl = "http://127.0.0.1:3000/images/" + fileName;
pics.push(object);
});
fields.pics = pics;
res.send(fields);
});
form.parse(req);
});
module.exports = router;