私は、.txtファイルに書き込まれるべき文字列の配列を持っています。また、結果の.txtファイルをJSZipを使用して.zip形式に圧縮する必要があります。クライアント側では、この文字列を使用して 'text/plain' Blobを生成し、このBlobをJSZipを使用して.zip形式に圧縮しました。私はnode.jsを使って同じことをサーバー側で行う必要がありますが、node.jsではBlobが利用できないことに気付きました。私はBlobの代わりに 'Buffer'を使用しようとしました.zipとして圧縮されたバイナリファイルがあります。私はnode.jsの初心者であり、Bufferの概念を理解できませんでした。 node.jsにBlobを作成できますか?またはnode.jsバッファで同じ操作を実行できますか?私はこのようなブロブの内容からzipファイルを生成することができ、クライアント側ではJSZipを使用してnode.jsのバッファコンテンツを使用してzipファイルを生成する方法は?
、
//stringsArray is an array of strings
var blob = new Blob(stringsArray, { type: "text/plain" });
var zip = new JSZip();
zip.file('file.txt' , blob);
zip.generateAsync({ type: 'blob', compression: 'DEFLATE' })
.then(function(zipFile){
//do something with zipFile
}, function(error){
console.log('Error in compression');
});
どのように私はNode.jsのを使用して同じことを行うことができますか?
このコードはそのまま実行する必要があります。おそらくJSZipのドキュメントでノードのメソッドが異なるかどうかを確認してください。 –
@BrahmaDev、node.jsに 'Blobが定義されていません'というエラーが表示される – HariV
申し訳ありませんが、Bufferを使用する必要があります。 ドキュメントは、これを調べるのに適しています。https://stuk.github.io/jszip/documentation/api_jszip/generate_async.html –