Blob.slice()

The Blob interface's slice() method creates and returns a new Blob object which contains data from a subset of the blob on which it's called.

Syntax

var newBlob = blob.slice(start, end, contentType);

Parameters

start Optional

An index into the Blob indicating the first byte to include in the new Blob. If you specify a negative value, it's treated as an offset from the end of the Blob toward the beginning. For example, -10 would be the 10th from last byte in the Blob. The default value is 0. If you specify a value for start that is larger than the size of the source Blob, the returned Blob has size 0 and contains no data.

end Optional

An index into the Blob indicating the first byte that will *not* be included in the new Blob (i.e. the byte exactly at this index is not included). If you specify a negative value, it's treated as an offset from the end of the Blob toward the beginning. For example, -10 would be the 10th from last byte in the Blob. The default value is size.

contentType Optional

The content type to assign to the new Blob; this will be the value of its type property. The default value is an empty string.

Return value

A new Blob object containing the specified subset of the data contained within the blob on which this method was called. The original blob is not altered.

Specifications

Specification
File API
# dfn-slice

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
slice
21
5-25
12
13
Before Firefox 12, there was a bug that affected the behavior of Blob.slice(); it did not work for start and end positions outside the range of signed 64-bit values; it has now been fixed to support unsigned 64-bit values.
5-13
10
12
7
5.1-7
≤37
25
18-25
14
Yes
7
6-7
1.5
1.0-1.5

See also

© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Blob/slice