blob이 아닌 blob을 구성합니다.

BlobBuilder 팬 여러분, 안녕히 계세요.

BlobBuilder는 JavaScript에서 Blob (또는 파일)을 만드는 데 유용한 API입니다. 이 속성은 Chrome 8, FF 6, IE 10부터 사용되었지만 Safari에서는 제공된 적이 없으며 앞으로도 제공되지 않을 것입니다. File API의 최근 사양 변경사항에는 Blob의 새 생성자가 포함되어 있어 BlobBuilder가 본질적으로 관련이 없게 됩니다. 실제로 Safari Nightly에서는 이미 사용 중지되었으며 Chrome에서도 곧 콘솔에서 경고를 표시할 예정입니다.

비교를 위해 아래는 지원 중단된 BlobBuilder 생성자와 새 Blob 생성자를 사용하는 동일한 코드입니다. 스니펫은 스타일시트를 만들고 DOM에 추가합니다.

BlobBuilder():

window.BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder ||
                        window.MozBlobBuilder || window.MSBlobBuilder;
window.URL = window.URL || window.webkitURL;

var bb = new BlobBuilder();
bb.append('body { color: red; }');
var blob = bb.getBlob('text/css');

var link = document.createElement('link');
link.rel = 'stylesheet';
link.href = window.URL.createObjectURL(blob);

document.body.appendChild(link);

Blob():

window.URL = window.URL || window.webkitURL;

var blob = new Blob(['body { color: red; }'], {type: 'text/css'});

var link = document.createElement('link');
link.rel = 'stylesheet';
link.href = window.URL.createObjectURL(blob);
document.body.appendChild(link);

편리합니다. 이제 BlobBuilder에 추가하는 대신 데이터 부분 배열에서 Blob를 만들면 됩니다. 데이터 부분은 다양한 유형 (DOMString, ArrayBuffer, Blob)일 수 있으며 순서는 중요하지 않습니다. 예를 들면 다음과 같습니다.

var blob = new Blob(['1234567890', blob, arrayBuffer]);

또한 두 번째 객체 매개변수는 선택사항입니다. 이러한 변경사항에 관한 자세한 내용은 Blob에 관한 MDN 문서를 참고하세요.