Files
gg-backend/backend/src/routes/upload.routes.js
T

36 lines
804 B
JavaScript
Raw Normal View History

2026-05-26 15:48:01 +05:30
import express from 'express';
import * as Bytescale from '@bytescale/sdk';
import multer from 'multer';
2026-03-12 14:15:44 +05:30
const router = express.Router();
const uploadManager = new Bytescale.UploadManager({
apiKey: process.env.BYTESCALE_SECRET_API_KEY,
});
const storage = multer.memoryStorage();
2026-05-26 15:48:01 +05:30
const upload = multer({ storage });
2026-05-26 15:48:01 +05:30
router.post('/', upload.single('file'), async (req, res) => {
try {
const file = req.file;
2026-05-26 15:48:01 +05:30
const { folderPath } = req.body;
const result = await uploadManager.upload({
data: file.buffer,
name: file.originalname,
mime: file.mimetype,
path: {
2026-05-26 15:48:01 +05:30
folderPath: folderPath || '/general',
},
});
2026-05-26 15:48:01 +05:30
res.json({ fileUrl: result.fileUrl });
} catch (error) {
console.error(error);
2026-05-26 15:48:01 +05:30
res.status(500).json({ error: 'Upload failed' });
}
2026-03-12 14:15:44 +05:30
});
export default router;