gpt4 book ai didi

node.js - Node js中特定数据库操作后使用multer上传文件

转载 作者:太空宇宙 更新时间:2023-11-04 01:57:09 25 4
gpt4 key购买 nike

我正在使用multer通过express上传文件。有没有办法在上传文件之前执行数据库操作?我需要执行条件检查用户在数据库中的插入是否成功,根据情况,应该执行文件上传。

最佳答案

要根据需要使用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用于指定上传文件的存储目录路径。

filename 用于确定文件夹内文件的名称。在本例中,我们使用 Date.now() 的返回数值而不是原始名称上传文件,并使用内置路径 Node.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')
});
}
});


});

关于node.js - Node js中特定数据库操作后使用multer上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47466942/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com