安装依赖
npm install express multer
upload接口定义
var express = require('express');
var router = express.Router();
const multer = require('multer');
const fs = require('fs').promises; // 使用 promise 版本的 fs 模块
const upload = multer({ dest: 'uploads/' }); // 指定文件存储目录
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
router.post('/upload', upload.single('file'), async (req, res) => {
try {
// 获取文件路径
const filePath = req.file.path;
// 读取文件内容
const fileContent = await fs.readFile(filePath);
// 转换为Base64编码
const base64String = fileContent.toString('base64');
// 返回Base64字符串
res.json({ base64: base64String });
} catch (err) {
console.error('处理文件出错:', err);
res.status(500).send('处理文件出错');
} finally {
// 删除临时文件
if (req.file) {
await fs.unlink(req.file.path);
}
}
});
module.exports = router;