【问题标题】:Node.js/Azure: upload HTML to BlobStorageNode.js/Azure:将 HTML 上传到 Blob 存储
【发布时间】:2018-12-28 19:04:21
【问题描述】:

我有一个将该页面的 HTML 发送到 Node.js 服务器的前端。然后,服务器应将该 HTML 发送到 Azure BlobStorage。

这是我处理此问题的快速路线:

router.post("/sendcode", function(req, res) {
  let code = "";
  code = req.body.code;
  console.log(code);
  let service = storage.createBlobService(process.env.AccountName, process.env.AccountKey);
  service.createContainerIfNotExists("htmlcontainer", function(error, result, response) {
    if (error) {
      throw error;
    } else {
      service.createBlockBlobFromStream("htmlcontainer", code, function(err, result, response) {
        if (err) {
          throw err;
        } else {
          console.log(result);
          console.log(response);
        }
      });
    }
  });
});

当我调用此路由时,我会在控制台中收到此消息:

<html><style>* { box-sizing: border-box; } body {margin: 0;}</style><body></body></html>

如何将其发送到 BlobStorage?避免使用我使用的方法,因为它可能是错误的,因为由于文档稀缺,我无法弄清楚要使用什么功能。

【问题讨论】:

  • 您能否详细说明您为何使用此计划?将 HTML 发送到 NodeJS,然后发送到 Blob ?
  • @AdamSmith-MSFT 我必须在将该代码发送到 blob 之前和之后对该代码执行一些操作。

标签: javascript node.js azure-storage azure-blob-storage


【解决方案1】:

堆栈溢出有很多答案,您可以按照这个并根据需要进行调整: Uploading a file in Azure File Storage using node.js

【讨论】:

    【解决方案2】:

    所以在尝试了一点之后,我能够不是从流中发送它,而是在将其写入文件之后,通过azure-storage 模块中的createBlockBlobFromLocalFile 函数发送该文件并从磁盘中删除该文件。

    我知道这不是最有效的方法,但它完成了我的工作。

    我面临的问题是,在块 blob 中上传 html 代码(没有文件操作)后,它的内容类型是 application/octet,我想是 text/html。所以我不得不再执行一项操作来更改它的内容类型,由于 javascript 中的文档和示例不可用,我发现这有点困难。

    【讨论】:

      猜你喜欢
      • 2015-12-10
      • 2023-03-28
      • 2019-05-26
      • 1970-01-01
      • 2014-08-23
      • 2021-10-13
      • 2018-12-17
      • 2020-08-01
      • 2017-01-24
      相关资源
      最近更新 更多