上传后无法读取.docx文件(nodejs)

时间:2018-05-08 16:51:42

标签: javascript node.js

所以我尝试使用express-fileupload包上传和读取.docx文件到快速服务器。上传部分工作正常但不知何故我无法读取文件,因为它打印出不可读的乱码文本。以下是代码:

app.post('/upload', (req, res, next) => {
  let file = req.files.file;

  file.mv(`${__dirname}/public/${req.body.filename}`, function(err) {
    if (err) {
      return res.status(500).send(err);
    }

    fs.readFile(`${__dirname}/public/${req.body.filename}`, 'utf8', function (err,data) {
      if (err) {
        return console.log(err);
      }
      console.log(data) // prints broken text/gibberish;
    });

    res.json({data to be returned});
  });

});

我想要的是能够读取.docx文件并对其中的文本进行操作。

1 个答案:

答案 0 :(得分:3)

docx文件不包含人类可读的文字。它们实际上是包含许多不同XML文件的ZIP文件 - 但即使是XML文件的文本内容也不容易使用。

如果您想阅读甚至修改docx文件中的文本,您需要找到一个可以读/写格式的库。