javascript - 如何将base64数据传输到可读图像流而不保存在本地

标签 javascript node.js file azure base64

我正在使用 Node.js 使用 Microsoft Bot Framework(托管在 Azure 上),并且无法在本地保存文件。我有 Base64 格式的图像数据,我需要将该数据传输到图像文件的可读流中,我可以使用 Blob 存储 API(需要流)将其注入(inject)到 Azure 中。

            var base64ImageData; //my base64 image

            //Create myStream here

            //Then send to Azure
            blobService.createBlockBlobFromStream('mycontainer', 
            nameForBlob, myStream, fileSize, 
            function (error, result, response){ 
                if(!error)
                    console.log(response);
                else
                    console.log(error)
            });

如有任何帮助,我们将不胜感激。我不知道如何解码 Base64 并从中生成流,而不将 jpg 保存到我的磁盘上。

最佳答案

请尝试这样的事情:

var azureStorage = require('azure-storage');
var streamifier = require('streamifier');

var base64String = 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEiSURBVDhPxZIhT0NBEITnoBKBrEQgEUhISEiqKiFUYJDI/gBEc8VVY5AYHKKGBIEAVBFN+A8EUVFZUdGk/XbvGtqmpS8ImGTu5vbd7N3tPv0Pog5gzeSGB4oiqgSbCnphNbRQsKEQorbY/YCqaqwrXatl4WIJosrsfELtw3vucOFxsP4J6eRnlJnfOf3S4xk/J0hmO3kPfmE+5er+9ilSAqtoU203TGEFC7pDHcFBNvf82wxSgqAzxhPmDsbdHLtl9FZhbmDuul5AKmLUNuoDtQMH8BGeQ0OXBIckGOX1HL67ELlq6m8pBRyjbF56umEzz9KbPnXM9qBKjhhuMFsdVmKxC/ZzvCbpVW9kvRLzCeydY/9J+sx11laPXyB63/8C0gQlpj3Fc3O2WAAAAABJRU5ErkJggg==';
var blobService = azureStorage.createBlobService('account-name', 
    'account-key');
var buffer = Buffer.from(base64String, 'base64');
var stream = streamifier.createReadStream(buffer);
blobService.createBlockBlobFromStream('container-name', 'checked.png', stream, buffer.byteLength, function(error, response) {
        if (error) {
            console.log('Error!');
            console.log(error);
        } else {
            console.log('Blob uploaded successfully!');
            console.log(response);
        }
    });

我必须安装streamifier将缓冲区转换为流的 Node 包。

关于javascript - 如何将base64数据传输到可读图像流而不保存在本地,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44952566/

相关文章:

javascript - Vue.js 指令不起作用

angularjs - JSON 树 MongoDB

file - 如何在gradle zipTree中递归复制文件夹内容?

javascript - 有没有办法隐藏react-navigation-drawer组件的标题标题

javascript - 单一功能的多个拖放区

javascript - 多个 not() DOM 选择器

node.js - 使用 mongo-connect 在 AppFog 上未清除 session

node.js - 使用 SAS (NODEJS) 从 Azure Blob 存储创建可共享 URI

python - 如何摆脱python windows文件路径字符串中的双反斜杠?

android - 简单的根文件资源管理器问题