を使用して画像ファイルをアップロードしようとしています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
、すべてが期待どおりに機能します。しかし、Windows サービスから を使用して実行するとnode-windows
、エラーは発生しませんが、動作しないようです。(つまり、画像ファイル名は実際にはデータベースに記録されていますが、ファイルはアップロードされません。おそらく送信先の問題ですか?そうであれば、送信先コードを提供します:
var storage = multer.diskStorage({
destination: './public/uploads/',
filename: function (req, file, cb) {
cb(null, file.originalname + "-" + Date.now() + path.extname(file.originalname));
}
});