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

에릭 비델만

BlobBuilder를 사용하는 모든 여러분께 미리 알려드립니다. 안녕히 계세요.

BlobBuilder는 자바스크립트로 Blob (또는 파일)을 만드는 편리한 API입니다. 이 기능은 Chrome 8, FF 6 및 IE 10부터 사용되어 왔지만 Safari에서는 출시된 적이 없으며 앞으로 출시될 가능성도 없습니다. File API의 최근 사양 변경사항에는 Blob의 새 생성자가 포함되어 있어 본질적으로 BlobBuilder가 관련되지 않습니다. 실제로 Safari 나이틀리에서는 이미 이 기능을 사용 중지했으며 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 문서를 참고하세요.