我有一个前端,发送该网页的超文本标记语言到Node.js服务器。然后,服务器应该将该超文本标记语言发送到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?避免使用我使用的方法,因为它可能是错误的,因为由于缺乏文档,我无法确定要使用哪个函数。
发布于 2018-07-21 16:58:41
有很多关于堆栈溢出的答案,你可以遵循这个答案,并根据你的需要进行调整:Uploading a file in Azure File Storage using node.js
发布于 2018-07-22 03:03:30
因此,在尝试了一下之后,我可以不从流中发送它,而是在将其写入文件后,通过azure-storage模块中的createBlockBlobFromLocalFile函数发送该文件,并从磁盘中删除该文件。
我知道这不是最有效的方法,但它完成了我的工作。
我面临的问题是,在一个块blob(没有文件操作)中上传html代码后,它的内容类型是application/octet,而我想要的是text/html。因此,我不得不再执行一次操作来更改其内容类型,我发现这有点困难,因为javascript中没有文档和示例。
https://stackoverflow.com/questions/51443030
复制相似问题