【问题标题】:Displaying binary docs to front end from marklogic database从 marklogic 数据库向前端显示二进制文档
【发布时间】:2018-03-15 11:52:47
【问题描述】:

是否可以通过执行marklogic node js api的节点程序将二进制文件从marklogic数据库带到前端用户?

【问题讨论】:

    标签: node.js database frontend marklogic


    【解决方案1】:

    是的,这是可能的,尽管您需要提供更多信息 - 我们在这里讨论的是哪种二进制文件,您是想提供它还是让它可供下载,以及您是否使用任何 Node.js。 js 包来提供此内容(例如 ExpressJS)。一般来说,使用流以块的形式读取二进制文件是一种很好的做法,而不是从数据库中一次性读取整个二进制文件。

    这是一个使用 Express 和 Node.js 的代码 sn-p 展示了这个概念:

    const displayImage = ((req, res) => {
      const uri = `/image/${req.params.id}`; //use your URI
      res.writeHead(200, { 'Content-type': 'image/png' }); //use your Content-type
      const data = [];
      db.documents.read(uri).stream('chunked')
      .on('data', chunk => data.push(chunk))
      .on('error', error => console.error(error))
      .on('end', () => {
        let buffer = new Buffer(data.length).fill(0);
        buffer = Buffer.concat(data);
        res.end(buffer);
      });
    });
    

    【讨论】:

    【解决方案2】:

    你没有一个非常明确的问题。或者至少不是很具体。通常,在查询和返回二进制文档时,其处理方式与任何其他内容相同。 node.js 中有一些你可能关心的项目——比如分块数据。

    请参阅此处了解一般信息: https://docs.marklogic.com/guide/app-dev/binaries

    对于我认为您可能会问的问题,请查看这篇关于 node.js 和二进制内容的精彩文章: https://developer.marklogic.com/blog/working-with-binary-documents 这个页面充满了可以帮助你的好东西。我建议您从上到下浏览文档。值得一读。具体来说,请查看标题为“显示图像”的部分。这是为了一张图片。但是,该技术对于任何其他二进制内容都是相同的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-18
      • 2019-01-10
      • 1970-01-01
      • 2021-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多