node + multer 实现文件上传
介绍
- 使用
Node.js中的express框架和multer,实现文件的上传
实现
1. 前端
<el-upload
class="upload-demo"
action="http://localhost:5678/uploadModel"
:show-file-list="false"
:on-success="getUploadSuccess"
>
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
getUploadSuccess(res, file) {
this.$message({
type: "success",
message: "模型上传成功!",
});
},
- 通过
element ui组件库中的el-upload上传组件和el-button按钮 - 点击上传按钮,激活
el-upload组件的action调用对应的后端接口
2. 后端接口
var multer = require('multer');
var upload = multer({ dest: 'Simulation_Model/' });
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, './Simulation_Model')
},
filename: function (req, file, cb) {
cb(null, file.originalname)
}
})
var upload = multer({ storage: storage })
app.post('/uploadModel', upload.single('file'), function (req, res, next) {
if (req.file === undefined) {
return res.send("模型上传失败!");
}
fs.renameSync('./Simulation_Model/' + req.file.filename, "./Simulation_Model/" + req.file.originalname);
res.send("模型上传成功!");
})
- 上传成功后,文件保存在后端目录的
Simulation_Model文件夹内