フロントエンド開発では、Blob オブジェクトをファイルに変換する必要が生じる場合があります。 BLOB は、任意のバイナリ データを表すことができる Web API のオブジェクト タイプです。ファイルは、ファイル名、ファイル タイプ、ファイル サイズなどの属性を持つエンティティです。アップロード、保存、その他の操作のために、ブラウザを通じて Blob オブジェクトをファイル タイプに変換する必要があることがよくあります。
Node.js 環境では、Node の組み込みモジュール fs を使用してファイル操作を実行し、Buffer を使用してバイナリ データを処理できます。したがって、Blob オブジェクトをバッファーに変換することで、Blob オブジェクトをファイルに変換し、fs モジュールを使用してバッファーをファイルに書き込むことができます。
具体的な実装手順は次のとおりです。
let blob = new Blob([arrayBuffer], { type: 'image/png' });
ここでは、バイナリ データを含む Blob オブジェクトが作成されます。
const buffer = Buffer.from(await blob.arrayBuffer());
Blob の arrayBuffer() メソッドは、バイナリ データを取得し、それをバッファに変換するために使用されます。
fs.writeFile('test.png', buffer, (err) => { if (err) throw err; console.log('The file has been saved!'); });
ここでは、バッファが「test.png」という名前のファイルに書き込まれます。書いた場合 ファイルに誤りがある場合は例外がスローされ、そうでない場合はコンソールに「ファイルは保存されました!」と出力されます。
完全なコードは次のとおりです:
const fs = require('fs'); const fetch = require('node-fetch'); async function downloadFile(url) { const res = await fetch(url); const blob = await res.blob(); const buffer = Buffer.from(await blob.arrayBuffer()); fs.writeFile('test.png', buffer, (err) => { if (err) throw err; console.log('The file has been saved!'); }); } downloadFile('https://www.example.com/test.png');
このコードは、リモート サーバー上の画像ファイルをローカルにダウンロードし、ファイル「test.png」として保存します。
概要:
この記事では、Blob オブジェクトをファイルに変換する方法を紹介します。Node.js 環境では、Buffer モジュールと fs モジュールを使用してこの機能を実現できます。このメソッドは、フロントエンドの Blob オブジェクトをファイルに変換する必要がある場合、またはバイナリ データを処理して Node.js 環境にファイルとして保存する必要がある場合に非常に便利です。
以上がファイルへのnodejs blobの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。