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 문서를 참고하세요.