使用expressjs,如何在转换前将上传的docx转换为HTML而不需要将docx文件保存到磁盘上?

问题描述 投票:0回答:1

正如问题所指出的,有没有一种方法可以将docx文件转换为HTML文件,然后将其返回给用户而无需写入磁盘?我看到以下软件包:

https://www.npmjs.com/package/mammoth

尽管看起来它需要一个'path'变量才能直接从磁盘读取文件...

var mammoth = require("mammoth");

mammoth.convertToHtml({path: "path/to/document.docx"})
    .then(function(result){
        var html = result.value; // The generated HTML
        var messages = result.messages; // Any messages, such as warnings during conversion
    })
    .done();

有某种方法可以从内存中的docx文件中读取文件,也可以将在app.post路由中上传的文件保存到变量中,然后将其传递给猛mm象或其他一些可以处理的库所以我永远不必写任何东西到磁盘上?

node.js express docx
1个回答
0
投票

mammoth文档中,convertToHtml函数的第一个参数是input,其中input是描述源文档的对象。在node.js上,他们支持{path: path}{buffer: buffer}(或{arrayBuffer: arrayBuffer})。

您可以将上传的文件转换为缓冲区,然后将缓冲区推至convertToHtml功能。

© www.soinside.com 2019 - 2024. All rights reserved.