Server IP : 162.213.251.212 / Your IP : 18.219.228.61 [ Web Server : LiteSpeed System : Linux business55.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : allssztx ( 535) PHP Version : 8.1.31 Disable Function : NONE Domains : 1 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/allssztx/clarkesmusicservices.com/routes/ |
Upload File : |
const express = require('express'); const router = express.Router(); const multer = require("multer"); const fs = require('fs'); const path = require('path'); const imageStorage = multer.diskStorage({ destination: function (req, file, cb) { const dir = './public/media/photos'; const fullPath = path.resolve(dir); console.log(fullPath) if (!fs.existsSync(dir)) { fs.mkdirSync(dir); } cb(null, fullPath); }, filename: function (req, file, cb) { cb(null, "file-" + Date.now() + '.' + file.originalname.split('.')[1]); } }); const audioStorage = multer.diskStorage({ destination: function (req, file, cb) { const dir = './public/media/audios'; const fullPath = path.resolve(dir); console.log(fullPath) if (!fs.existsSync(dir)) { fs.mkdirSync(dir); } cb(null, fullPath); }, filename: function (req, file, cb) { cb(null, "file-" + Date.now() + '.' + file.originalname.split('.')[1]); } }); const imageFilter = (req, file, cb) => { // only image files if (file.mimetype.toLowerCase() === "image/jpeg" || file.mimetype.toLowerCase() === "image/png") { cb(null, true); } else { cb(null, false); } }; const audioFilter = (req, file, cb) => { // only audio files const supportedAudioTypes = [ "audio/mpeg", // MP3 "audio/mp3", // MP3 "audio/wav", // WAV "audio/x-wav", // WAV "audio/flac", // FLAC "audio/aac", // AAC "audio/mp4", // AAC "audio/x-m4a", // AAC ]; if (supportedAudioTypes.includes(file.mimetype.toLowerCase())) { cb(null, true); } else { cb(null, false); } }; const uploadImage = multer({ storage: imageStorage, fileFilter: imageFilter }); const uploadAudio = multer({ storage: audioStorage, fileFilter: audioFilter }); router.post('/', uploadImage.single('image'), async (req, res) => { try { const image = req.file; console.log('req.file', req.file) if (!image) { return res.status(400).json({ error: 'Please upload a Valid Image of jpg/png' }); } res.send(image); } catch (err) { console.log(err.message); return res.status(500).json({ error: err.message }) } }) router.post('/audio', uploadAudio.single('audio'), async (req, res) => { try { const audio = req.file; console.log('req.file', req.file) if (!audio) { return res.status(400).json({ error: 'Please upload a Valid Audio of mpeg/mp3/wav/x-wav/flac/aac/mp4/x-m4a' }); } res.send(audio); } catch (err) { console.log(err.message); return res.status(500).json({ error: err.message }) } }) module.exports = router