--- title: Object URL 管理:URL.createObjectURL 与 revokeObjectURL keywords: - Object URL - Blob URL - createObjectURL - revokeObjectURL - 内存治理 description: 说明对象 URL 的创建与释放,用于本地预览与下载场景,避免内存泄漏与句柄积压,并与文件访问与媒体处理协作,提供示例与建议。 categories: - 应用软件 - 系统工具 --- 概述 `URL.createObjectURL(blob)` 创建临时的本地资源 URL,适用于文件预览与下载。必须在不再使用时 `URL.revokeObjectURL(url)` 释放,避免内存泄漏与句柄积压。 示例 ```js const blob = new Blob([new Uint8Array([1,2,3])], { type: 'application/octet-stream' }) const url = URL.createObjectURL(blob) const a = document.createElement('a'); a.href = url; a.download = 'data.bin'; a.click() URL.revokeObjectURL(url) ``` 工程建议 - 生命周期:在组件卸载或任务完成后统一释放;避免重复创建。 - 与文件访问:结合 File System Access/OPFS 管理持久化与预览;记录资源来源。 - 安全:校验内容类型与大小;避免不可信内容执行。 参考与验证 - MDN `URL.createObjectURL` 文档:https://developer.mozilla.org/docs/Web/API/URL/createObjectURL - MDN `URL.revokeObjectURL` 文档:https://developer.mozilla.org/docs/Web/API/URL/revokeObjectURL
点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
网站二维码

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部
/* 跳过导航链接 (无障碍) */ .skip-link { position: absolute; top: -100px; left: 15px; z-index: 99999; padding: 8px 16px; background: #007bff; color: #fff; font-size: 14px; border-radius: 0 0 4px 4px; text-decoration: none; transition: top 0.2s; } .skip-link:focus { top: 0; outline: 3px solid #0056b3; }