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')
extractFilename(headers?: Headers, fallbackName = 'file'): string
fetch 响应的 Headers 对象。'file'。