不能POST/显示

Cannot POST / displayed

我创建了一个用于保存图像的目录,当我尝试上传图片时收到错误消息无法 POST /

我试过在代码中更改目录名称

var sqlite3 = require('sqlite3').verbose();
var db = new sqlite3.Database('weblinksDB');
var multer = require('multer');
var upload = multer();
db.serialize(function() {
  db.run("CREATE TABLE IF NOT EXISTS weblinks (url TEXT, rating INTEGER)");
  db.run("DELETE FROM weblinks");
  db.run("INSERT INTO weblinks (url, rating) VALUES (?, ?)","http://www.bbc.co.uk",6);
  db.run("INSERT INTO weblinks (url, rating) VALUES (?, ?)","http://bbc.com",10);
});

var express = require('express');
var restapi = express();

restapi.post('/insert', upload.array(), function (req, res, next) {
  console.log(req.body.url);
  console.log(req.body.rating);
  db.run("INSERT INTO weblinks (url,rating) VALUES (?, ?)", req.body.url, req.body.rating, function (error) {
    if (error) {
      console.err(error);
      res.status(500);
    } else {
      res.status(202);
    }
    res.end();
  });
  restapi.post('/', multer({ dest: './surfcata/uploads'}).single('upload'), function(req,res){
    console.log(req.body);
    console.log(req.file);
    console.log(req.file.originalname); //shows the original name in cli
    res.status(204).end();
  });
});

文件应该上传到目录

首先,为什么要将 POST: '/' 调用放在 POST: '/insert' 调用中? 其次,您可以执行以下操作:

var path = require('path');
var multer = require('multer');
var storage = multer.diskStorage({
    destination: function (req, file, cb) {
        cb(null, './surfcata/uploads');
    },
    filename: function (req, file, cb) {
        cb(null, Date.now() + path.extname(file.originalname)); //Appending extension
    }
});
var upload= multer({ storage: storage });

router.post('/add', upload.single('mainimage'), function (req, res, next) {
    if (!req.file.originalname.match(/\.(jpg|jpeg|png|gif)$/)) {
        return new Error('Only image files are allowed!');
    }

    if(req.file.fieldname=== 'mainimage') {
        var mainImageOriginalName= req.file.originalname;
        mainImageName= req.file.filename;
        var mainImageMime= req.file.mimetype;
        var mainImagePath= req.file.path;
        var mainImageExt= req.file.extension;
        var mainImageSize= req.file.size;
    } else {
        mainImageName= 'noimage.png';
    }
});

看看有没有帮助!