read 封装的一些读取函数
读取文件内容
查看代码
typescript
/**
* 读取文件内容
*
* @param file 要读取的文件对象,可以是File或Blob类型
* @param type 读取类型,可选值为'base64'、'buffer'、'text'
* @returns 返回Promise对象,根据读取类型解析为string或ArrayBuffer类型
* @throws 当type参数不是'base64'、'buffer'、'text'其中之一时,会抛出错误
*/
export function readFile(file: File | Blob, type: 'base64'): Promise<string>
export function readFile(file: File | Blob, type: 'text'): Promise<string>
export function readFile(file: File | Blob, type: 'buffer'): Promise<ArrayBuffer>
export function readFile(file: File | Blob, type: 'base64' | 'buffer' | 'text') {
return new Promise<string | ArrayBuffer>((resolve, reject) => {
const fr = new FileReader()
fr.onload = () => {
resolve(fr.result as string | ArrayBuffer)
}
fr.onerror = e => {
reject(e)
}
if (type === 'base64') {
fr.readAsDataURL(file)
} else if (type === 'buffer') {
fr.readAsArrayBuffer(file)
} else if (type === 'text') {
fr.readAsText(file)
} else {
reject(new Error('type is not Unrecognized'))
}
})
}base64: bytes:
[]
text: