Uname: 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
Software: LiteSpeed
PHP version: 8.1.32 [ PHP INFO ] PHP os: Linux
Server Ip: 162.213.251.212
Your Ip: 3.147.61.19
User: allssztx (535) | Group: allssztx (533)
Safe Mode: OFF
Disable Function:
NONE

name : upload.js
const express = require('express');
const router = express.Router();
const fs = require('fs');
const path = require('path');
const multer = require("multer");

const storage = multer.diskStorage({
    destination: function (req, file, cb) {
        const dir = './views/assets/uploads';
        const fullPath = path.resolve(dir);
        if (!fs.existsSync(dir)) {
            fs.mkdirSync(dir);
        }
        cb(null, fullPath);
    },
    filename: function (req, file, cb) {
        cb(null, file.fieldname + "" + Date.now() + '.' + file.originalname.split('.')[1]);
    }
});

const fileFilter = (req, file, cb) => {
    // only image files
    if (file.mimetype === "image/jpeg" || file.mimetype === "image/png") {
        cb(null, true);
    } else {
        cb(null, false);
    }
};

const upload = multer({ storage: storage, fileFilter: fileFilter });

router.post("/image", upload.single("image"), (req, res, next) => {
    try {
        const image = req.file;
        if (!image) {
            const error = new Error("Please upload an image");
            error.httpStatusCode = 400;
            return next(error);
        }
        const imageUrl = `/assets/uploads/${image.filename}`
        // const imageUrl = `http://localhost:8080/uploads/${image.filename}`
        res.status(200).json({ url: imageUrl, file: image });
    } catch (error) {
        console.log(error.message)
        res.status(500).json({ message: error.message })
    }
});

module.exports = router
© 2025 GrazzMean-Shell