此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

FileSystemSyncAccessHandle:truncate() 方法

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2023年3月⁩.

安全上下文: 此特性仅在一些支持的浏览器安全上下文(HTTPS)中可用。

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

FileSystemSyncAccessHandle 接口的 truncate() 方法用于将与句柄相关联文件的大小调整为指定的字节数。

备注: 在规范早期版本中,close()flush()getSize()truncate() 被错误地规定为异步方法。某些浏览器的旧版本是依照异步方式来实现这些方法的,不过,现今所有支持这些方法的浏览器都将它们实现为同步方法。

语法

js
truncate(newSize) 

参数

newSize

要将文件调整到的字节数。

返回值

无(undefined)。

异常

InvalidStateError DOMException

如果相关的访问句柄已经被关闭,或者由于其他原因导致修改文件的二进制数据失败,抛出此异常。

QuotaExceededError DOMException

如果 newSize 大于文件原来的大小并且超出了浏览器的存储配额,抛出此异常。

TypeError

如果底层文件系统不支持将文件大小设为新的大小,抛出此异常。

Examples

js
async function truncateFile() { // 获取草稿文件的句柄 const root = await navigator.storage.getDirectory(); const draftHandle = await root.getFileHandle("draft.txt", { create: true }); // 获取同步访问句柄 const accessHandle = await draftHandle.createSyncAccessHandle(); // 将文件裁剪至 0 字节 accessHandle.truncate(0); // 将更改持久化至磁盘 accessHandle.flush(); // 如果完成,请始终关闭 FileSystemSyncAccessHandle accessHandle.close(); } 

规范

Specification
File System
# api-filesystemsyncaccesshandle-truncate

浏览器兼容性

参见