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完成时回调
depsDownloadInBrowserDepsDOM 依赖

返回值

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

工作原理

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