--- title: Blob.slice() slug: Web/API/Blob/slice translation_of: Web/API/Blob/slice ---
{{APIRef("File API")}}

O método Blob.slice() é usado para criar um novo {{domxref("Blob")}} object  contendo os dados no intervalo especificado de bytes da fonte {{domxref("Blob")}}.

Nota: Esteja ciente de que o método slice () tem prefixos de fornecedores em alguns navegadores e versões: blob.mozSlice () para Firefox 12 e anteriores e blob.webkitSlice () no Safari. Uma versão antiga do método slice (), sem prefixos de fornecedor, tinha uma semântica diferente e é obsoleta

Sintaxe

let blob = instanceOfBlob.slice([start [, end [, contentType]]]);

Parâmetros

start {{optional_inline}}
An index into the {{domxref("Blob")}} indicating the first byte to include in the new {{domxref("Blob")}}. If you specify a negative value, it's treated as an offset from the end of the string toward the beginning. For example, -10 would be the 10th from last byte in the {{domxref("Blob")}}. The default value is 0. If you specify a value for start that is larger than the size of the source {{domxref("Blob")}}, the returned {{domxref("Blob")}} has size 0 and contains no data.
end {{optional_inline}}
An index into the {{domxref("Blob")}} indicating the first byte that will *not* be included in the new {{domxref("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 string toward the beginning. For example, -10 would be the 10th from last byte in the {{domxref("Blob")}}. The default value is size.
contentType {{optional_inline}}
The content type to assign to the new {{domxref("Blob")}}; this will be the value of its type property. The default value is an empty string.

Return value

A new {{domxref("Blob")}} object containing the specified data from the source {{domxref("Blob")}}.

Specifications

Specification Status Comment
{{SpecName("File API", "#dfn-slice", "Blob.slice()")}} {{Spec2("File API")}} Initial definition

Browser compatibility

{{CompatibilityTable}}

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 10 {{property_prefix("webkit")}} [1]
21
{{CompatVersionUnknown}} 5 {{property_prefix("moz")}} [1]
13 [2]
10 12 [1] 5.1 {{property_prefix("webkit")}} [3]
Feature Android Edge Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support {{CompatUnknown}} {{CompatVersionUnknown}} {{CompatGeckoMobile("13.0")}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}

[1] The slice() method had initially taken length as the second argument to indicate the number of bytes to include in the new Blob. If you specified values such that start + length exceeded the size of the source Blob, the returned Blob contained data from the start index to the end of the source Blob. That version of the slice() was implemented in Firefox 4, WebKit, and Opera 11.10. However, since that syntax is differed from Array.slice() and String.slice(), Gecko and WebKit removed support and added support for the new syntax as Blob.slice()/Blob.webkitSlice.

[2] Prior to Gecko 12.0 {{geckoRelease("12.0")}}, 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.

[3] This was implemented in 534.29.

See also