[API](/solutions/geotoolkit/geotoolkit_js/apis/readme) / [geotoolkit](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit) / [util](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.util) / [stream](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.util#stream) / [BrowserFileStream](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.util#browserfilestream) / BrowserFileStream

# Class: BrowserFileStream

[stream](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.util#stream).[BrowserFileStream](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.util#browserfilestream).BrowserFileStream

A stream implementation using a browser File object and a browser FileReader.<br>
This implementation relies on the [HTML5 File API](https://w3c.github.io/FileAPI/).<br>

## Implements

- [`IReadable`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.stream.ireadable.ireadable)


## Table of contents

Constructors
- [new BrowserFileStream(options)](/solutions/geotoolkit/GeoToolkit_JS/apis/classes/geotoolkit.util.stream.browserfilestream.browserfilestream.md#new browserfilestream(options))


Methods
| [dispose](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.stream.browserfilestream.browserfilestream#dispose) | [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.stream.browserfilestream.browserfilestream#getclassname) | [getSize](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.stream.browserfilestream.browserfilestream#getsize) |
|  --- | --- | --- |
| [getStride](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.stream.browserfilestream.browserfilestream#getstride) | [readChunk](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.stream.browserfilestream.browserfilestream#readchunk) | [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.stream.browserfilestream.browserfilestream#getclassname-1) |


## Contents

Constructors
#### new BrowserFileStream(options)

• **new BrowserFileStream**(`options`)

#### Parameters

| Name  | Type  |
|  --- | --- |
| `options` | [`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.util#browserfilestream#options) |


Methods
#### dispose

▸ **dispose**(): `void`

Dispose

#### Returns

`void`

#### Implementation of

[IReadable](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.stream.ireadable.ireadable).[dispose](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.stream.ireadable.ireadable#dispose)

#### getClassName

▸ **getClassName**(): `string`

#### Returns

`string`

#### getSize

▸ **getSize**(): `number`

Returns the size of the underlying data

#### Returns

`number`

size The size

#### Implementation of

[IReadable](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.stream.ireadable.ireadable).[getSize](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.stream.ireadable.ireadable#getsize)

#### getStride

▸ **getStride**(): `number`

Returns the stride of this stream

#### Returns

`number`

stride The stride

#### Implementation of

[IReadable](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.stream.ireadable.ireadable).[getStride](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.stream.ireadable.ireadable#getstride)

#### readChunk

▸ **readChunk**(`offset`, `length`, `callback`): [`BrowserFileStream`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.stream.browserfilestream.browserfilestream)

Read a chunk of data and calls the callback when it's done.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `offset` | `number` | The position to start reading from |
| `length` | `number` | The amount of bytes to read |
| `callback` | (`err`: `Error`, `buffer`: `Int8Array` | `Int16Array`, `bytesRead`: `number`) => `void` | The callback that will be called with the result |


#### Returns

[`BrowserFileStream`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.stream.browserfilestream.browserfilestream)

this

#### Implementation of

[IReadable](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.stream.ireadable.ireadable).[readChunk](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.stream.ireadable.ireadable#readchunk)

#### getClassName

▸ `Static` **getClassName**(): `string`

#### Returns

`string`