首页 > 解决方案 > 使用 node.js 将上传的文件发送到客户端

问题描述

我是 node.js 的新手。这是我的问题:我从 html 上传文件

<form method="POST" action="/upload" enctype="multipart/form-data"
   <div>
      <input type="file" name="myFile" id="fileUpload" multiple />
    </div>
     <div>
      <input type="submit" name="btn_upload" value="Upload" />
    </div>
  </form>

然后我使用 multer 从目录上传文件并使用 npm pdfParser 从 pdf 解析为 json,文件定期复制到主目录中,代码返回主页。

try {
  app.post("/upload", (req, res) => {
    upload(req, res, (err) => {
      if (err) {
        console.log(err);
      } else {
        if (req.file == undefined) {
          res.redirect("index.html");
        } else {
          fileOriginale = req.file.originalname;
          const pdfParser = new PDFParser();
          pdfParser.on("pdfParser_dataError", (errData) =>
            console.error(errData.parserError)
          );
          pdfParser.on("pdfParser_dataReady", (pdfData) => {
            const test = fileOriginale.substring(0, fileOriginale.length - 4);
            const id = __dirname + "/" + test + ".json";
            console.log("filetofetch in pdfParser", id);
            fs.writeFile(
              id,
              JSON.stringify(pdfData),
              (err) => console.error(err)
            );
          });
          pdfParser.loadPDF(__dirname + "/" + fileOriginale.toString());
          res.redirect("index.html");
          res.end();
          return;
        }
      }
    });
  });
} catch (err) {
  console.log(err);
  return;
}

这里的问题是:如何解析主目录中加载的 .json 文件并将其发送到客户端?

标签: javascriptnode.js

解决方案


推荐阅读