2017-11-26 14 views
0

NodeJS(https://github.com/Azure/azure-storage-node)用のMicrosoft Azure Storage SDKで作業を開始し、最初のpdfファイルをクラウドストレージに正常にアップロードしました。NodeJs Microsoft Azure Storage SDK

しかし、私はファイルをnode_bufferとしてダウンロードするためにドキュメントを調べ始めました(fs.createWriteStreamを使用する必要はありません)が、ドキュメンテーションはこれがどのように動作するかの例を示していません。彼らが書いているのはです "ファイルをダウンロードするにはいくつかの方法があります。例えば、getFileToStreamはそのファイルをストリームにダウンロードします:" "しかし、fs.createWriteStreamを使用している使用したくない。

私は本当に助けてくれたGoogleで何も見つけられなかったので、誰かがこれをやっている経験があり、私とコードサンプルを共有できるかどうか疑問に思っていましたか?

答えて

1

getFileToStream関数は、書き込み可能なストリームをparamとして必要とします。すべてのデータをファイルではなくBufferに書きたい場合は、書き込み専用のカスタムストリームを作成するだけです。

const { Writable } = require('stream'); 

let bufferArray = []; 
const myWriteStream = new Writable({ 
    write(chunk, encoding, callback) { 
     bufferArray.push(...chunk) 
     callback(); 
    } 
}); 

myWriteStream.on('finish', function() { 
    // all the data is stored inside this dataBuffer 
    let dataBuffer = Buffer.from(bufferArray); 
}) 

は、次に通過myWriteStream関数getFileToStream

fileService.getFileToStream('taskshare', 'taskdirectory', 'taskfile', myWriteStream, function(error, result, response) { 
    if (!error) { 
    // file retrieved 
    } 
}); 
関連する問題