在Node.js中使用Express发送和接收文件可以通过以下步骤实现:
$ npm install express multer
const express = require('express');
const multer = require('multer');
const app = express();
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'uploads/'); // 指定文件保存的目录
},
filename: function (req, file, cb) {
cb(null, file.originalname); // 指定保存的文件名
}
});
const upload = multer({ storage: storage });
app.post('/upload', upload.single('file'), function (req, res, next) {
// 文件上传成功后的处理逻辑
res.send('文件上传成功');
});
app.get('/download/:filename', function (req, res, next) {
const filename = req.params.filename;
const filePath = __dirname + '/uploads/' + filename;
res.download(filePath, function (err) {
if (err) {
// 文件下载失败的处理逻辑
res.status(404).send('文件不存在');
}
});
});
app.listen(3000, function () {
console.log('应用程序已启动,监听端口3000');
});
现在,你可以使用Postman或其他工具来测试文件上传和下载功能。通过发送POST请求到/upload
路由,可以将文件上传到指定的目录。通过发送GET请求到/download/:filename
路由,可以下载指定的文件。
这是一个基本的文件上传和下载的示例,你可以根据实际需求进行扩展和优化。如果你想了解更多关于Express、Node.js和文件处理的知识,可以参考腾讯云的相关产品和文档:
领取专属 10元无门槛券
手把手带您无忧上云