Skip to content

引入

ts
import {
  downloadFileFromBlob,
  downloadFilesToZip,
  getSafeFileExtension,
  getExtensionFromMime
} from 't-comm';

// 不支持 tree-shaking 的项目
import {
  downloadFileFromBlob,
  downloadFilesToZip,
  getSafeFileExtension,
  getExtensionFromMime
} from 't-comm/lib/file/index';

// 只支持 ESM 的项目
import {
  downloadFileFromBlob,
  downloadFilesToZip,
  getSafeFileExtension,
  getExtensionFromMime
} from 't-comm/es/file/index';

downloadFileFromBlob(blob, fileName)

描述

从 Blob 对象下载文件。创建一个临时链接并触发浏览器下载

参数

参数名描述
blob

Blob 数据

fileName

下载的文件名

示例

ts
const blob = new Blob(['Hello World'], { type: 'text/plain' });
downloadFileFromBlob({
  blob,
  fileName: 'hello.txt'
});

downloadFilesToZip(fileList, zipName, saveAs, JSZip)

描述

批量下载文件为 ZIP 压缩包。将多个文件打包成 ZIP 并触发下载

参数

参数名描述
fileList

文件列表,每个文件包含 content 和 name

zipName

ZIP 文件名

saveAs

FileSaver.js 的 saveAs 函数

JSZip

JSZip 库实例

返回:

Promise<boolean> - 成功返回 true,失败返回 false

示例

ts
import JSZip from 'jszip';
import { saveAs } from 'file-saver';

downloadFilesToZip({
  fileList: [
    { content: 'file1 content', name: 'file1.txt' },
    { content: 'file2 content', name: 'file2.txt' }
  ],
  zipName: 'files.zip',
  saveAs,
  JSZip
}).then(success => {
  console.log('下载结果:', success);
});

getSafeFileExtension(file)

描述

安全获取文件后缀名

参数

参数名类型描述
fileFile

文件对象

返回: string

文件后缀名(小写,不带点)

getExtensionFromMime(mimeType)

描述

从MIME类型获取文件后缀

参数

参数名类型描述
mimeTypestring

MIME类型

返回: string | null

文件后缀或null