在网页端看到的blob文件,通常是浏览器生成的临时URL,长得像这样:
blob:https://finevoice.fineshare.com/878982e3-0e98-439f-bc23-7122d32a188b
这个URL不是服务器上真实存在的文件路径,而是浏览器在内存中创建的对象引用。

获取blob文件
在控制台中输入下方命令:
(async () => {
const blobUrl = "blob地址";
const res = await fetch(blobUrl); // 注意:这里 fetch blob: 有效
const blob = await res.blob();
// 保存文件
const a = document.createElement("a");
a.href = URL.createObjectURL(blob);
a.download = "downloaded_file.webm"; // 根据内容改扩展名
document.body.appendChild(a);
a.click();
a.remove();
})();

注意,blobUrl路径和download文件名称都需要根据内容修改。
调用后,默认下载到Downloads文件夹中。
拦截数据源
如果使用 Blob 下载失败,显示:
Uncaught (in promise) TypeError: Failed to fetch
这就表示浏览器不允许直接 fetch 这个 blob 对象。
解决方案为,打开浏览器开发者工具(F12),切换到“Network(网络)”面板。
加载并播放视频,找到视频真实的 .mp4、.m3u8 或 .ts 文件请求。
右键 → “Copy → Copy link address”, 这个链接就是能直接下载的真实视频 URL。
m3u8的下载教程《macOS通过m3u8文件下载视频》。
m4s的下载教程《Mac下载m4s视频》。
相关文章
1、macOS通过m3u8文件下载视频:https://fangjunyu.com/2025/07/28/macos%e9%80%9a%e8%bf%87m3u8%e6%96%87%e4%bb%b6%e4%b8%8b%e8%bd%bd%e8%a7%86%e9%a2%91/
2、Mac下载m4s视频:https://fangjunyu.com/2025/11/14/mac%e4%b8%8b%e8%bd%bdm4s%e8%a7%86%e9%a2%91/
