Showing
1 changed file
with
22 additions
and
8 deletions
@@ -20,9 +20,9 @@ export const readFile = (file: File) => { | @@ -20,9 +20,9 @@ export const readFile = (file: File) => { | ||
20 | 20 | ||
21 | /** | 21 | /** |
22 | * * 通过 a 标签下载数据 | 22 | * * 通过 a 标签下载数据 |
23 | - * @param url | ||
24 | - * @param filename | ||
25 | - * @param fileSuffix | 23 | + * @param url |
24 | + * @param filename | ||
25 | + * @param fileSuffix | ||
26 | */ | 26 | */ |
27 | export const downloadByA = (url: string, filename = new Date().getTime(), fileSuffix?: string) => { | 27 | export const downloadByA = (url: string, filename = new Date().getTime(), fileSuffix?: string) => { |
28 | const ele = document.createElement('a') // 创建下载链接 | 28 | const ele = document.createElement('a') // 创建下载链接 |
@@ -43,12 +43,26 @@ export const downloadByA = (url: string, filename = new Date().getTime(), fileSu | @@ -43,12 +43,26 @@ export const downloadByA = (url: string, filename = new Date().getTime(), fileSu | ||
43 | * @param { ?string } filename 文件名称(默认随机字符) | 43 | * @param { ?string } filename 文件名称(默认随机字符) |
44 | * @param { ?string } fileSuffix 文件名称(默认随机字符) | 44 | * @param { ?string } fileSuffix 文件名称(默认随机字符) |
45 | */ | 45 | */ |
46 | -export const downloadTextFile = ( | ||
47 | - content: string, | ||
48 | - filename = new Date().getTime(), | ||
49 | - fileSuffix?: string | ||
50 | -) => { | 46 | +export const downloadTextFile = (content: string, filename = new Date().getTime(), fileSuffix?: string) => { |
51 | // 字符内容转变成blob地址 | 47 | // 字符内容转变成blob地址 |
52 | const blob = new Blob([content]) | 48 | const blob = new Blob([content]) |
53 | downloadByA(URL.createObjectURL(blob), filename, fileSuffix) | 49 | downloadByA(URL.createObjectURL(blob), filename, fileSuffix) |
54 | } | 50 | } |
51 | +// THINGS_KIT | ||
52 | +/** | ||
53 | + * * base64转file | ||
54 | + * @param dataurl | ||
55 | + * @param fileName | ||
56 | + * @returns | ||
57 | + */ | ||
58 | +export const base64toFile = (dataurl: string, fileName: string) => { | ||
59 | + let dataArr = dataurl.split(','), | ||
60 | + mime = (dataArr as any[])[0].match(/:(.*?);/)[1], | ||
61 | + bstr = atob(dataArr[1]), | ||
62 | + n = bstr.length, | ||
63 | + u8arr = new Uint8Array(n) | ||
64 | + while (n--) { | ||
65 | + u8arr[n] = bstr.charCodeAt(n) | ||
66 | + } | ||
67 | + return new File([u8arr], fileName, { type: mime }) | ||
68 | +} |