38 lines
1.0 KiB
JavaScript
38 lines
1.0 KiB
JavaScript
const express = require('express');
|
|
const db = require('../db-sqlite');
|
|
const { authenticate } = require('../middleware/auth');
|
|
const multer = require('multer');
|
|
|
|
const upload = multer({ dest: 'uploads/' });
|
|
|
|
module.exports = function(app) {
|
|
const router = express.Router();
|
|
|
|
router.post('/single', authenticate, upload.single('file'), async (req, res) => {
|
|
try {
|
|
if (!req.file) {
|
|
return res.status(400).json({ success: false, message: '没有上传文件' });
|
|
}
|
|
|
|
const fileUrl = `/uploads/${req.file.filename}`;
|
|
|
|
res.json({
|
|
success: true,
|
|
message: '文件上传成功',
|
|
data: {
|
|
filename: req.file.filename,
|
|
url: fileUrl,
|
|
size: req.file.size
|
|
}
|
|
});
|
|
|
|
console.log(`文件 ${req.file.filename} 上传成功,由 ${req.user.username} 操作`);
|
|
} catch (error) {
|
|
console.error('文件上传失败:', error);
|
|
res.status(500).json({ success: false, message: '文件上传失败' });
|
|
}
|
|
});
|
|
|
|
app.use('/api/upload', router);
|
|
};
|