>웹 프론트엔드 >JS 튜토리얼 >Base64 문자열에서 JavaScript Blob을 만드는 방법은 무엇입니까?

Base64 문자열에서 JavaScript Blob을 만드는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-21 14:11:09537검색

How to Create a JavaScript Blob from a Base64 String?

JavaScript의 Base64 문자열에서 Blob 생성

base64로 인코딩된 문자열을 Blob 객체로 변환하는 것은 바이너리 데이터를 처리할 때 JavaScript에서 일반적인 작업입니다. 이는 데이터를 이미지로 표시하거나 사용자 장치에 다운로드하는 데 유용할 수 있습니다.

Base64 문자열 디코딩

첫 번째 단계는 base64 문자열을 디코딩하는 것입니다. 이는 base64로 인코딩된 문자열을 원래 바이너리 데이터가 포함된 새 문자열로 변환하는 atob 함수를 사용하여 달성할 수 있습니다.

const byteCharacters = atob(b64Data);

형식화된 바이트 배열로 변환

atob 함수 각각 바이트를 나타내는 문자열을 생성합니다. 이러한 문자를 실제 바이트로 변환하려면 .charCodeAt 메소드를 사용하여 문자 코드 포인트를 얻을 수 있습니다. 이러한 코드 포인트는 바이트 값이 됩니다.

const byteNumbers = new Array(byteCharacters.length);
for (let i = 0; i < byteCharacters.length; i++) {
    byteNumbers[i] = byteCharacters.charCodeAt(i);
}

다음으로 byteNumbers 배열을 생성자에 전달하여 Uint8Array를 생성할 수 있습니다.

const byteArray = new Uint8Array(byteNumbers);

Blob 생성

마지막으로 byteArray를 배열로 래핑하고 Blob에 전달하여 Blob 객체를 생성할 수 있습니다. 생성자.

const blob = new Blob([byteArray], {type: contentType});

다음은 base64 문자열에서 Blob을 생성하는 방법에 대한 예입니다.

const contentType = 'image/png';
const b64Data = 'iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==';

const blob = new Blob([atob(b64Data)], {type: contentType});

Blob을 생성한 후에는 이를 사용하여 사용자에게 데이터를 표시하거나 장치에 다운로드할 수 있습니다. URL.createObjectURL 함수를 사용하여 Blob에 대한 URL을 생성한 다음 이미지의 src 또는 다운로드 링크의 href로 설정할 수 있습니다.

위 내용은 Base64 문자열에서 JavaScript Blob을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.