Skip to content

downloadInBrowser ​

浏览器环境下载:按 URL 类型选择新窗口打开或 a[download] 锚点触发。

前置依赖 ​

依赖参数 ​

参数名类型说明
deps.createAnchorElement() => HTMLAnchorElement创建 a 元素
deps.appendChild(el) => void挂载到 body
deps.removeChild(el) => void从 body 移除
deps.openUrl(url) => void新窗口打开 URL
deps.randomUUID可选生成 downloadId

函数签名 ​

typescript
function downloadInBrowser(
  options: DownloadOptions,
  deps: DownloadInBrowserDeps,
): DownloadResult

参数 ​

参数名类型必填说明
options.urlstring是下载地址
options.filenamestring否缺省从 URL 推断
options.browserMode'window' | 'anchor'否缺省:http(s) 用 window,否则 anchor
options.downloadIdstring否进度回调 ID
options.onProgressfunction否完成时回调
depsDownloadInBrowserDeps是DOM 依赖

返回值 ​

类型说明
DownloadResult{ ok, downloadId, error? }

工作原理 ​

  1. 解析 browserMode 与文件名。
  2. window 模式调用 deps.openUrl;anchor 模式走 triggerAnchorDownload。
  3. 触发 onProgress 并返回结果。