How do I transfer base64 data into a readable image stream without saving locally

前端 未结 1 892
南方客
南方客 2020-12-20 08:22

I\'m working with the Microsoft Bot Framework (hosting on Azure) using Node.js, and saving files locally isn\'t an option. I have image data in base64 format, and I need to

相关标签:
1条回答
  • 2020-12-20 08:50

    Please try something like this:

    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);
            }
        });
    

    I had to install streamifier node package to convert buffer to stream.

    0 讨论(0)
提交回复
热议问题