-1

rename と onFileUploadComplete を取得してコンソール ログを呼び出そうとしていますが、そうではありません。

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」に変更されているためと思われます。特に onFileUploadComplete が起動されず、ファイルがアップロードされたことが通知されない場合は、ファイルを指す文字列ではありません。

4

1 に答える 1

0

Multerの使い方が変わりました。これらのコールバックは機能しません。これらのリンクを見てください:

https://github.com/expressjs/multer
multer コールバックが機能しない?

于 2015-09-20T17:22:47.880 に答える