Node.js Multer不会将图像保存在我的项目文件夹中

时间:2017-02-24 19:21:58

标签: node.js multer

我必须在Node.js项目上做一些维护,我无法上传图像。

我已经看过许多关于将图像上传到node.js的帖子,但我无法弄清楚我的代码会发生什么。

my routes / index.js(比如我的app.js)

var keystone = require("keystone");
var middleware = require("./middleware");
var importRoutes = keystone.importer(__dirname);

// Common Middleware
keystone.pre("routes", middleware.initLocals);
keystone.pre("render", middleware.flashMessages);

// Import Route Controllers
var routes = {
    views: importRoutes("./views") 
};

// Setup Route Bindings
exports = module.exports = function (app) {

    // Views
    app.get("/", routes.views.index);
    app.all("/cadastroEvento", routes.views.cadastroEvento);
};

我的路线/观点/ cadastroEvento

var keystone = require("keystone");
var async = require("async");
var env = require("../env");
var Cloudant = require("cloudant");
var multer = require("multer");
var upload = multer({ dest : "/" }).single("file");

// Conexão com o MongoDB
var Evento = keystone.list("Evento");
var mongoDb = require("mongodb");
var MongoClient = mongoDb.MongoClient;
var urlDb = env.urlDb;

exports = module.exports = function (req, res) {
    var view = new keystone.View(req, res);
    var locals = res.locals;
    var url = view.req.originalUrl;
    locals.tipo = url.substr(url.indexOf("?") + 1);
    locals.section = "cadastroEvento";
    locals.formData = req.body || {};
    locals.validationErrors = {};

// POST
view.on("post", { action : "cadastroEvento" }, function (next) {
    // Seta campos para mensagem de erro
    locals.erroNome = false;
    locals.erroDataInicio = false;
    locals.erroDataFim = false;
    locals.erroAoSalvar = false;
    locals.erroAoConectar = false;
    locals.eventoCadastrado = false;
    locals.erroValidacao = false;

    // Valida os campos
    var validacao = validaCampos(req);

    // HERE I DO THE UPLOAD OF THE IMAGE 
    upload(req, res, function(err) 
    {
        if(err) {
            return res.end("Error uploading file." + err);
        }
        res.end("File is uploaded");
    });
    console.log("Files: " + JSON.stringify(req.files));

    ... REST OF CODE NOT RELATED TO THE IMAGE UPLOAD ...
};

在我的cadastroEvento.jade中,我有一个表单,其中method ='post'enctype =“multipart / form-data”,输入类型=“file”和name =“file”

发帖后,我收到消息:“文件已上传” 但我的文件夹中没有图像...

console.log("Files: " + JSON.stringify(req.files));返回此信息:

Files: {"file":{"fieldname":"file","originalname":"Screenshot_2.png","name":"47707bab7b0b7bf03a882e88f5a0715d.png","encoding":"7bit","mimetype":"image/png","path":"C:\\Users\\JOS-HI~1\\AppData\\Local\\Temp\\47707bab7b0b7bf03a882e88f5a0715d.png","extension":"png","size":7895,"truncated":false,"buffer":null}}

我的错误将在哪里得到任何帮助。

由于

0 个答案:

没有答案