# Request: blob() method



The **`blob()`** method of the [Request](https://developer.mozilla.org/en-US/docs/Web/API/Request) interface
reads the request body and returns it as a promise that resolves with a [Blob](https://developer.mozilla.org/en-US/docs/Web/API/Blob).

## Syntax

```js-nolint
blob()
```

### Parameters

None.

### Return value

A promise that resolves with a [Blob](https://developer.mozilla.org/en-US/docs/Web/API/Blob) whose data is the body's bytes and the media type is the request's `Content-Type` header's value.

### Exceptions

- [TypeError](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError)
  - : Thrown for one of the following reasons:
    - The request body is [disturbed or locked](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch#locked_and_disturbed_streams).
    - There was an error decoding the body content (for example, because the [Content-Encoding](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding) header is incorrect).

## Examples

```js
const obj = { hello: "world" };
const myBlob = new Blob([JSON.stringify(obj, null, 2)], {
  type: "application/json",
});

const request = new Request("/myEndpoint", {
  method: "POST",
  body: myBlob,
});

request.blob().then((myBlob) => {
  // do something with the blob sent in the request
});
```

## Specifications

## Browser compatibility

## See also

- [Response.blob()](https://developer.mozilla.org/en-US/docs/Web/API/Response/blob)
