我试图让 rename 和 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 从未被解雇告诉我文件已上传?