---
title: Blob
summary: A file-like object of immutable, raw data. Blobs represent data that isn't necessarily in a JavaScript-native format. The File interface is based on Blob, inheriting blob functionality and expanding it to support files on the user's system.
url: https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.Blob/
---

**Kind:** Interface  
**Module:** [globals](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/)  
**Package:** @fastly/js-compute 4.0.1  
**Source:** https://github.com/fastly/js-compute-runtime/blob/70cf30af4e657879b2d1e7eafab880e39e3a3f7d/types/globals.d.ts#L1253

A file-like object of immutable, raw data. Blobs represent data that isn't necessarily in a JavaScript-native format. The File interface is based on Blob, inheriting blob functionality and expanding it to support files on the user's system.

[MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob)

## Constructor

**Source:** https://github.com/fastly/js-compute-runtime/blob/70cf30af4e657879b2d1e7eafab880e39e3a3f7d/types/globals.d.ts#L1270

```javascript
new Blob(blobParts?: Array<BlobPart>, options?: BlobPropertyBag)
```

**Parameters**

- `blobParts`: `Array<BlobPart>` (optional)
- `options`: `BlobPropertyBag` (optional)

## Properties

### size

**Type:** `number`  
**Flags:** read-only  
**Source:** https://github.com/fastly/js-compute-runtime/blob/70cf30af4e657879b2d1e7eafab880e39e3a3f7d/types/globals.d.ts#L1255

[MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/size)

### type

**Type:** `string`  
**Flags:** read-only  
**Source:** https://github.com/fastly/js-compute-runtime/blob/70cf30af4e657879b2d1e7eafab880e39e3a3f7d/types/globals.d.ts#L1257

[MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/type)

## Methods

### arrayBuffer

**Source:** https://github.com/fastly/js-compute-runtime/blob/70cf30af4e657879b2d1e7eafab880e39e3a3f7d/types/globals.d.ts#L1259

```javascript
arrayBuffer(): Promise<ArrayBuffer>
```

[MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/arrayBuffer)

**Returns**

`Promise<ArrayBuffer>`

### slice

**Source:** https://github.com/fastly/js-compute-runtime/blob/70cf30af4e657879b2d1e7eafab880e39e3a3f7d/types/globals.d.ts#L1261

```javascript
slice(start?: number, end?: number, contentType?: string): Blob
```

[MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/slice)

**Parameters**

- `start`: `number` (optional)
- `end`: `number` (optional)
- `contentType`: `string` (optional)

**Returns**

`Blob`

### stream

**Source:** https://github.com/fastly/js-compute-runtime/blob/70cf30af4e657879b2d1e7eafab880e39e3a3f7d/types/globals.d.ts#L1263

```javascript
stream(): ReadableStream<Uint8Array<ArrayBuffer>>
```

[MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/stream)

**Returns**

`ReadableStream<Uint8Array<ArrayBuffer>>`

### text

**Source:** https://github.com/fastly/js-compute-runtime/blob/70cf30af4e657879b2d1e7eafab880e39e3a3f7d/types/globals.d.ts#L1265

```javascript
text(): Promise<string>
```

[MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/text)

**Returns**

`Promise<string>`
