--- title: Body slug: Web/API/Body tags: - API - BODY - Experimental - Fetch - Fetch API - Interface - Reference - request translation_of: Web/API/Body ---
{{ APIRef("Fetch") }}

Fetch APIBody {{glossary("mixin","ミックスイン")}}は、リクエスト/レスポンスのボディを表し、そのコンテンツタイプが何であるかとその処理方法を宣言できます。

Body は {{domxref("Request")}} と {{domxref("Response")}} の両方で実装されます。 これにより、これらのオブジェクトに、関連するボディ(ストリーム)と使用済みフラグ(初期は未設定)、MIME タイプ(初期は空のバイトシーケンス)が提供されます。(訳注:コンテンツタイプ(MIME タイプ)は、{{domxref("Headers")}} の "Content-Type" にあります。 でも、例を見てもわかる通り、普通はリクエストの時点で決定しているので、これを調べてはいません。)

プロパティ

{{domxref("Body.body")}} {{readonlyInline}}
ボディコンテンツの {{domxref("ReadableStream")}} を公開するために使用する単純なゲッター。
{{domxref("Body.bodyUsed")}} {{readonlyInline}}
既にボディが読み込まれたかどうかを示す {{jsxref("Boolean")}} 値。

メソッド

{{domxref("Body.arrayBuffer()")}}
{{domxref("Response")}} ストリームを取得し、完全に読み込む。 {{jsxref("ArrayBuffer")}} で解決する promise を返す。
{{domxref("Body.blob()")}}
{{domxref("Response")}} ストリームを取得し、完全に読み込む。 {{domxref("Blob")}} で解決する promise を返す。
{{domxref("Body.formData()")}}
{{domxref("Response")}} ストリームを取得し、完全に読み込む。 {{domxref("FormData")}} オブジェクトで解決する promise を返す。
{{domxref("Body.json()")}}
{{domxref("Response")}} ストリームを取得し、完全に読み込む。 ボディのテキストを {{jsxref("JSON")}} として解析した結果で解決する promise を返す。
{{domxref("Body.text()")}}
{{domxref("Response")}} ストリームを取得し、完全に読み込む。 {{domxref("USVString")}}(テキスト)で解決する promise を返す。 レスポンスは常に UTF-8 でデコードする。

次の例では、単純なフェッチ呼び出しを使用して画像を取得し、{{htmlelement("img")}} タグで表示します。 画像をリクエストしているので、{{domxref("Body.blob","Body.blob()")}} ({{domxref("Response")}} は Body を実装しています)を実行して、レスポンスに正しい MIME タイプを与える必要があることに注意してください。

HTML の内容

<img class="my-image" src="https://wikipedia.org/static/images/project-logos/frwiki-1.5x.png">

JS の内容

const myImage = document.querySelector('.my-image');
fetch('https://upload.wikimedia.org/wikipedia/commons/7/77/Delete_key1.jpg')
	.then(res => res.blob())
	.then(res => {
		const objectURL = URL.createObjectURL(res);
		myImage.src = objectURL;
});

{{ EmbedLiveSample('Examples', '100%', '250px') }}

仕様

仕様 状態 コメント
{{SpecName('Fetch','#body-mixin','Body')}} {{Spec2('Fetch')}}

ブラウザーの互換性

{{Compat("api.Body")}}

関連情報