javascript - multer 文件上传不适用于 Node 窗口

标签 javascript node.js windows-services multer 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 从 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',

这适用于 macOS 和 Windows

关于javascript - multer 文件上传不适用于 Node 窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41580556/

相关文章:

c# - 在 Windows 10 中部署 Windows Phone 8.1 应用程序时找不到 IpOverUsbSvc

javascript - 如何使用javascript将音频文件转换为字节数组

javascript - 突出显示导航栏的图像和文本

php - 将验证从 Controller 传递回 ajax 函数

node.js - 无法使用 Node js ipp 模块进行打印

node.js - 从 php 脚本调用时,nodejs require() 失败(linux)

node.js - 无法从同一 Wi-Fi 连接到 Node 服务器

windows - 将 GHC 创建的 Windows 可执行文件作为服务运行

c# - 安装在 Visual Studio 中创建的 Windows 服务

javascript - 将参数附加到 URL 地址在多个函数中不起作用(第二个函数不变)