在Multer 1.0中,如何让事件回调起作用?

时间:2015-08-27 19:35:24

标签: node.js express multer

我正在尝试重命名和onFileUploadComplete来调用他们的控制台日志,但它从来没有这样做,但它确实在post中调用我的控制台,这给了我一个不存在的文件字符串。

var express = require("express");
var multer = require("multer");
var Excel = require("exceljs");
var router = express.Router();
var fs = require('fs');

var doneUpload = false;
var displayResults = [];
var Excelfile;


router.use(multer({ dest: "./uploads/",
 rename: function (fieldname, filename) {
   console.log("Filename: "+filename);
  return new Date().getTime() + filename;
  },
  onFileUploadComplete: function (file) {
      saveFile = file;
      console.log("onFileUploadComplete ");
    doneUpload = true;
  }
}).single("excelFile"));

router.get("/", function(req, res){
  res.sendFile(__dirname + "/index.html");
});

router.post("/api/fileupload" ,function(req, res){
    Excelfile = req.file.path;
    console.log(typeof Excelfile);

    res.render("results", {
      displayResults: displayResults
    });
});
module.exports = router;

先谢谢。我的最终目标是拥有一个我可以传入excel JS的文件,目前它说文件的格式不正确。我怀疑是因为文件被重命名为长串的数字“uploads / 7ab48192a1c548a3dce3b9d74cad6592”,它永远不会指向实际的文件。我进一步怀疑这是因为我运行了typeof并且它确实给了我一个字符串 - 只是没有一个指向文件,特别是如果onFileUploadComplete从未被解雇告诉我文件已上传?

0 个答案:

没有答案