프런트 엔드 개발에서는 Blob 개체를 파일로 변환해야 할 필요성이 발생할 수 있습니다. Blob은 임의의 이진 데이터를 나타낼 수 있는 Web API의 개체 유형입니다. 파일은 파일 이름, 파일 형식, 파일 크기 등과 같은 속성을 가진 엔터티입니다. 업로드, 저장 및 기타 작업을 위해 브라우저를 통해 Blob 개체를 파일 형식으로 변환해야 하는 경우가 많습니다.
Node.js 환경에서는 Node에 내장된 모듈 fs를 사용하여 파일 작업을 수행할 수 있고, Buffer를 사용하여 바이너리 데이터를 처리할 수 있습니다. 따라서 Blob 객체를 Buffer로 변환하여 Blob 객체를 파일로 변환한 다음 fs 모듈을 사용하여 Buffer를 파일에 쓸 수 있습니다.
구체적인 구현 단계는 다음과 같습니다.
let blob = new Blob([arrayBuffer], { type: 'image/png' });
여기서 바이너리 데이터를 포함하는 Blob 객체가 생성됩니다.
const buffer = Buffer.from(await blob.arrayBuffer());
여기서는 Blob의 arrayBuffer() 메소드를 사용하여 바이너리 데이터를 얻어 Buffer로 변환합니다.
fs.writeFile('test.png', buffer, (err) => { if (err) throw err; console.log('The file has been saved!'); });
여기서 Buffer는 "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 중국어 웹사이트의 기타 관련 기사를 참조하세요!