javascript - 如何在 Node.js 中使用 multer 上传文件?

标签 javascript node.js file-upload multer

我想使用 multer 上传图片。但它不起作用。这里有什么问题?

这段代码在我的路由文件中。

var multer  = require('multer');
var upload = multer({ dest: 'public/uploads/' });

这是我的发帖路线。

router.post('/addNewFood', upload.single('avatar'),function (req, res, next) {
console.log(req.files);
});

最佳答案

试试这个,它对我有用。使用 express 和 node。

var storage = multer.diskStorage({
  destination: function (req, file, cb) {
    cb(null, 'public/uploads/')
  },
  filename: function (req, file, cb) {
    cb(null, file.originalname)
  }
});

var upload = multer({ storage: storage }).single('avatar');

router.post('/addNewFood', //Your authentication check,// 
  function (req, res, next) {

    upload(req, res, function(err) {
        if (err) {
            res.redirect(req.headers.referer + "/error.html");
            return;
        }

        if (!req.files) {
            res.redirect(req.headers.referer + "/error.html");
            return;
        } else {
            //Implement your own logic if needed. Like moving the file, renaming the file, etc.
            res.redirect(req.headers.referer);
        }
    });
  }
);

关于javascript - 如何在 Node.js 中使用 multer 上传文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42021053/

相关文章:

php - Symfony2 通过 REST API 发布文件

sql-server - VB.net 中的 HTTPHandler 用于使用 Plupload 上传文件

javascript - 为什么在删除 className 后会触发附加到 className 的单击事件?

javascript - 如何更改通过滚动激活的选项卡元素样式?

javascript - 如何使用分配给变量的字符串作为对象键

javascript - `npm build` 没有在 package.json 中构建 't run the script named "

file-upload - nginx 文件使用 proxy_pass 上传流

javascript - 如何在 jQuery 中显示两个数字?

javascript - 从 Javascript 窗口插入 MySql 数据库?

node.js - Mongo 使用 req.query.id Node 查找 id