yu-file-down
v1.0.0
Published
文件下载工具,支持Blob下载和URL下载
Readme
yu-file-down
文件下载工具,支持Blob下载和URL下载。
安装
npm install yu-file-down使用
基础用法
import { downloadFileFromUrl, downloadFileFromElement } from 'yu-file-down';
// 从URL下载文件
await downloadFileFromUrl('https://example.com/file.pdf', 'document.pdf', {
onSuccess: () => {
console.log('下载成功');
},
onError: (error) => {
console.error('下载失败:', error);
}
});
// 从文件对象下载
await downloadFileFromElement({
download_url: 'https://example.com/file.pdf',
file_name: 'document.pdf'
});从Blob下载
import { downloadFileFromBlob } from 'yu-file-down';
const blob = new Blob(['文件内容'], { type: 'text/plain' });
downloadFileFromBlob(blob, 'file.txt');批量下载
import { downloadFiles } from 'yu-file-down';
await downloadFiles([
{ url: 'https://example.com/file1.pdf', fileName: 'file1.pdf' },
{ url: 'https://example.com/file2.pdf', fileName: 'file2.pdf' }
], {
delay: 500, // 每个文件之间延迟500ms
onProgress: ({ current, total }) => {
console.log(`下载进度: ${current}/${total}`);
}
});API
downloadFileFromUrl(url, fileName, options)
从URL下载文件。
参数:
url(string) - 文件URLfileName(string) - 文件名options(object) - 配置选项onSuccess(Function) - 成功回调onError(Function) - 失败回调fallbackToDirect(boolean) - 失败时是否回退到直接下载,默认 true
downloadFileFromElement(fileData, options)
从文件对象下载文件。
参数:
fileData(object) - 文件数据对象,包含url/download_url/file_url和file_name/nameoptions(object) - 配置选项
downloadFileFromBlob(blob, fileName, onSuccess)
从Blob下载文件。
参数:
blob(Blob) - Blob对象fileName(string) - 文件名onSuccess(Function) - 成功回调(可选)
downloadFiles(files, options)
批量下载文件。
参数:
files(Array) - 文件数组,每个元素包含url和fileNameoptions(object) - 配置选项delay(number) - 每个文件之间的延迟(毫秒),默认 500onProgress(Function) - 进度回调
特性
- ✅ 支持Blob下载(跨域友好)
- ✅ 自动回退到直接下载
- ✅ 批量下载支持
- ✅ 进度回调
- ✅ TypeScript 支持
