extractFilename

从 fetch 请求的 Headers 对象中提取 content-disposition 头里的文件名。

extractFilename

fetch 请求的 Headers 对象中提取 content-disposition 头里的文件名。它能正确处理 filename* 编码格式。

用法

import { extractFilename, triggerDownload } from '@movk/core'

async function downloadFile(url: string) {
  try {
    const response = await fetch(url)
    if (!response.ok)
      throw new Error('网络响应失败')

    const blob = await response.blob()
    const filename = extractFilename(response.headers, 'default-filename.zip')

    triggerDownload(blob, filename)
  }
  catch (error) {
    console.error('下载失败:', error)
  }
}

// downloadFile('/api/download/report')

API

extractFilename(headers?: Headers, fallbackName = 'file'): string

参数

headers
Headers
fetch 响应的 Headers 对象。
fallbackName
string
当无法从响应头中提取文件名时使用的备用文件名。默认为 'file'

返回值

string
返回提取到的文件名或备用文件名。

Changelog

No recent changes
Copyright © 2024 - 2025 YiXuan - MIT License