---
title: BlobBuilder
slug: Web/API/BlobBuilder
translation_of: Web/API/BlobBuilder
---
<p>{{APIRef("File API")}}{{ obsolete_header}}</p>

<p><code>BlobBuilder</code> インターフェースは、{{domxref("Blob")}} オブジェクトを構築する簡単な方法を提供します。単に <code>BlobBuilder</code> を作成し、 {{manch("append")}} メソッドを使ってデータのチャンクを付け足していってください。blobの生成が完了したら {{manch("getBlob")}} メソッドを呼んで、あなたがビルダに送り込んだデータの {{domxref("Blob")}} を取得してください。</p>

<div class="note"><strong>注記:</strong> <code>BlobBuilder</code> インターフェースは非推奨です。新しく導入された {{domxref('Blob')}} コンストラクタを使用してください。</div>

<h2 id="メソッド概観">メソッド概観</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <td><code>void <a href="/en-US/docs/Web/API/BlobBuilder#append()">append</a>(in ArrayBuffer data);</code></td>
  </tr>
  <tr>
   <td><code>void <a href="/en-US/docs/Web/API/BlobBuilder#append()">append</a>(in Blob data);</code></td>
  </tr>
  <tr>
   <td><code>void <a href="/en-US/docs/Web/API/BlobBuilder#append()">append</a>(in String data, [optional] in String endings);</code></td>
  </tr>
  <tr>
   <td><code>Blob <a href="/en-US/docs/Web/API/BlobBuilder#getBlob()">getBlob</a>([optional] in DOMString contentType);</code></td>
  </tr>
  <tr>
   <td><code>File <a href="/en-US/docs/Web/API/BlobBuilder#getFile()">getFile</a>(in DOMString name, [optional] in DOMString contentType);</code></td>
  </tr>
 </tbody>
</table>

<h2 id="メソッド">メソッド</h2>

<h3 id="append">append()</h3>

<p>生成中の {{domxref("Blob")}} に対して、指定されたJavaScriptオブジェクトの内容を付け足します。もし指定した値が {{domxref("Blob")}} 、<code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer">ArrayBuffer</a></code> または <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/String"><code>String</code></a> のいずれでもなければ、強制的に文字列に変換されたのち、blobに付け足されます。</p>

<pre class="syntaxbox notranslate">void append(
  in ArrayBuffer data
);

void append(
  in Blob data
);


void append(
  in String data,
  [optional] in String endings
);
</pre>

<h6 id="パラメータ">パラメータ</h6>

<dl>
 <dt><code>data</code></dt>
 <dd>{{domxref("Blob")}} に付け足されるデータ</dd>
 <dt><code>endings</code></dt>
 <dd><code>\n</code> を含む文字列がどのように扱われるか指定します。指定できる値は <code>"transparent"</code> (終端を変更しない) または <code>"native"</code> (ホストOSのファイルシステムに従って終端を変更する) です。デフォルトの値は <code>"transparent"</code> です。</dd>
</dl>

<h3 id="getBlob">getBlob()</h3>

<p>{{manch("append")}} メソッドで渡したデータから生成される {{domxref("Blob")}} オブジェクトを返します。</p>

<pre class="syntaxbox notranslate">Blob getBlob(
  in DOMString contentType {{optional_inline}}
);
</pre>

<h6 id="パラメータ_2">パラメータ</h6>

<dl>
 <dt>contentType {{optional_inline}}</dt>
 <dd>{{domxref("Blob")}} の中で返されるデータのMIMEタイプ。これは <code>Blob</code> オブジェクトのtype プロパティの値になります。</dd>
</dl>

<h6 id="戻り値">戻り値</h6>

<p><code>BlobBuilder</code> が生成されてから {{manch("append")}} によって渡された全てのデータを含む {{domxref("Blob")}} オブジェクト。またこのメソッドにより <code>BlobBuilder</code> はリセットされ、次の {{manch("append")}} メソッド呼び出しでは、新しいの空のblobをスタートすることができます。</p>

<h3 id="getFile_non-standard_inline">getFile() {{non-standard_inline}}</h3>

<p>{{domxref("File")}} オブジェクトを返します。</p>

<pre class="syntaxbox notranslate">File getFile(
  in DOMString name,
  [optional] in DOMString contentType
);
</pre>

<h6 id="パラメータ_3">パラメータ</h6>

<dl>
 <dt>name</dt>
 <dd>ファイル名。</dd>
 <dt>contentType {{optional_inline}}</dt>
 <dd>{{domxref("File")}} の中で返されるデータのMIMEタイプ。これは <code>File</code> オブジェクトのtype プロパティの値になります。</dd>
</dl>

<h6 id="戻り値_2">戻り値</h6>

<p>{{domxref("File")}} オブジェクト。</p>

<h2 id="ブラウザ互換性">ブラウザ互換性</h2>



<p>{{Compat("api.BlobBuilder")}}</p>

<h2 id="関連項目">関連項目</h2>

<ul>
 <li>{{spec("http://dev.w3.org/2009/dap/file-system/file-writer.html#idl-def-BlobBuilder", "File API Specification: BlobBuilder", "ED")}}</li>
 <li>{{domxref("Blob")}}</li>
 <li>{{domxref("File")}}</li>
</ul>