Blob:slice() 方法

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

备注: 此特性在 Web Worker 中可用。

Blob 接口的 slice() 方法创建并返回一个新的 Blob 对象,该对象包含调用它的 blob 的子集中的数据。

语法

js
slice()
slice(start)
slice(start, end)
slice(start, end, contentType)

参数

start 可选

这个参数代表 Blob 里的第一个会被拷贝进新的 Blob 的字节的索引。如果你传入的是一个负数,那么这个偏移量将会从数据的末尾从后到前开始计算。例如,-10 将会是 Blob 的倒数第十个字节。它的默认值是 0。如果你传入的 start 的长度大于源 Blob 的长度,那么返回的将会是一个长度为 0 并且不包含任何数据的一个 Blob 对象。

end 可选

这个参数代表 Blob 里的第一个不会被拷贝进新的 Blob 的字节的索引(换句话说,这个索引的字节不会被拷贝)。如果你传入了一个负数,那么这个偏移量将会从数据的末尾从后到前开始计算。举例来说,-10 将会是 Blob 的倒数第十个字节。它的默认值就是它的原始长度 size

contentType 可选

给新的 Blob 赋予一个新的内容类型。这将会把它的 type 属性设为被传入的值。它的默认值是一个空字符串。

返回值

一个新的 Blob 对象,它包含了调用该方法的原始 blob 对象所包含数据的指定子集。原始的 blob 不会被改变。

规范

Specification
File API
# dfn-slice

浏览器兼容性

BCD tables only load in the browser

参见