多文件上传不适用于 node-windows
multer file-upload doesn't work with node-windows
我正在尝试使用 multer
上传图片文件。
这是我的代码:
router.post('/', function (req, res) {
upload(req, res, function (err) {
if (err) {
// An error occurred when uploading
conole.log(err);
return;
}
// Everything went fine
var data = Object.assign({picture: req.file && req.file.filename}, req.body);
db.create('devices', data)
.then(function(data){
res.render('msg', {msg: 'Added device '+ data[0]});
})
.catch(function(err){
console.log(err);
});
});
});
但是,当我尝试从命令行 运行 服务器 node app.js
时,一切都按预期工作。但是,当我使用 node-windows
从 A windows 服务 运行 宁它时,它似乎不起作用,而我没有收到任何错误。 (意思是图片文件名实际上记录在数据库中,但文件没有上传。
这可能是目的地问题吗?如果是这样,我将提供我的目的地代码:
var storage = multer.diskStorage({
destination: './public/uploads/',
filename: function (req, file, cb) {
cb(null, file.originalname + "-" + Date.now() + path.extname(file.originalname));
}
});
从您的代码中删除这一行
destination: './public/uploads/',
并添加此代码
destination: __dirname+'../../../uploads',
这对 mac OS 和 windows
都有效
我正在尝试使用 multer
上传图片文件。
这是我的代码:
router.post('/', function (req, res) {
upload(req, res, function (err) {
if (err) {
// An error occurred when uploading
conole.log(err);
return;
}
// Everything went fine
var data = Object.assign({picture: req.file && req.file.filename}, req.body);
db.create('devices', data)
.then(function(data){
res.render('msg', {msg: 'Added device '+ data[0]});
})
.catch(function(err){
console.log(err);
});
});
});
但是,当我尝试从命令行 运行 服务器 node app.js
时,一切都按预期工作。但是,当我使用 node-windows
从 A windows 服务 运行 宁它时,它似乎不起作用,而我没有收到任何错误。 (意思是图片文件名实际上记录在数据库中,但文件没有上传。
这可能是目的地问题吗?如果是这样,我将提供我的目的地代码:
var storage = multer.diskStorage({
destination: './public/uploads/',
filename: function (req, file, cb) {
cb(null, file.originalname + "-" + Date.now() + path.extname(file.originalname));
}
});
从您的代码中删除这一行
destination: './public/uploads/',
并添加此代码
destination: __dirname+'../../../uploads',
这对 mac OS 和 windows
都有效