Showing
1 changed file
with
22 additions
and
8 deletions
... | ... | @@ -20,9 +20,9 @@ export const readFile = (file: File) => { |
20 | 20 | |
21 | 21 | /** |
22 | 22 | * * 通过 a 标签下载数据 |
23 | - * @param url | |
24 | - * @param filename | |
25 | - * @param fileSuffix | |
23 | + * @param url | |
24 | + * @param filename | |
25 | + * @param fileSuffix | |
26 | 26 | */ |
27 | 27 | export const downloadByA = (url: string, filename = new Date().getTime(), fileSuffix?: string) => { |
28 | 28 | const ele = document.createElement('a') // 创建下载链接 |
... | ... | @@ -43,12 +43,26 @@ export const downloadByA = (url: string, filename = new Date().getTime(), fileSu |
43 | 43 | * @param { ?string } filename 文件名称(默认随机字符) |
44 | 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 | 47 | // 字符内容转变成blob地址 |
52 | 48 | const blob = new Blob([content]) |
53 | 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 | +} | ... | ... |