32 lines
1.0 KiB
JavaScript
32 lines
1.0 KiB
JavaScript
const express = require("express");
|
|
const multer = require("multer");
|
|
const path = require("path");
|
|
const app = express();
|
|
|
|
// Configura onde salvar (Pasta 'uploads')
|
|
const storage = multer.diskStorage({
|
|
destination: function (req, file, cb) {
|
|
cb(null, "../../public/projects/"); // <--- PASTA ONDE FICARÃO OS PROJETOS
|
|
},
|
|
filename: function (req, file, cb) {
|
|
// Mantém o nome original ou cria um novo para evitar duplicatas
|
|
const uniqueSuffix = Date.now() + "-" + Math.round(Math.random() * 1e9);
|
|
cb(null, uniqueSuffix + "-" + file.originalname);
|
|
},
|
|
});
|
|
|
|
const upload = multer({ storage: storage });
|
|
|
|
// A Rota que o HTML vai chamar
|
|
app.post(
|
|
"/api/upload",
|
|
upload.fields([{ name: "project_file" }, { name: "audio_preview" }]),
|
|
(req, res) => {
|
|
// Aqui você pode salvar os dados de Título/BPM em um banco de dados ou arquivo JSON
|
|
console.log("Projeto recebido:", req.body.project_name);
|
|
console.log("Arquivo salvo:", req.files["project_file"][0].path);
|
|
|
|
res.send("Arquivo recebido com sucesso");
|
|
}
|
|
);
|