在节点js中的特定数据库操作之后使用multer上传文件

我正在使用multer通过快速上传文件。 上传文件之前有没有办法执行数据库操作? 我需要执行一个条件检查数据库中的用户插入是否成功,取决于那个,file upload应该被执行。

根据需要使用multer ,您可以使用以下代码:

 var path = require('path'); var multer = require('multer'); var storage = multer.diskStorage({ destination: function(req, file, callback) { callback(null, './uploads') }, filename: function(req, file, callback) { console.log(file) callback(null, file.fieldname + '-' + Date.now() + path.extname(file.originalname)) } }); 

destination是指定上传文件将被存储的目录的path。

filename是用来确定该文件夹内应该命名的文件。 在这种情况下,我们使用Date.now()中的返回数值而不是原始名称上传文件,并使用内置pathNode.js库添加原始文件扩展名。

 path.extname(file.originalname); app.post('/insertUpload', function(req, res) { // connection is db connection variable var username = req.body.username; var query = connection.query('INSERT INTO users SET ?', username, function(err, result) { console.log(result); if(!err){ // if not error after insert var upload = multer({ storage: storage }).single('userFile') upload(req, res, function(err) { res.end('File is uploaded') }); } }); });