UNPKG

@jdlinker/ui

Version:

jdLinker UI库,基于ant-design-vue封装

33 lines (29 loc) 894 B
export function checkFileType(file: File, accepts: string[]) { const newTypes = accepts.join('|'); if (newTypes.includes('image/*')) { return true; } if (newTypes.includes('*')) { return true; } // const reg = /\.(jpg|jpeg|png|gif|txt|doc|docx|xls|xlsx|xml)$/i; const reg = new RegExp('\\.(' + newTypes + ')$', 'i'); return reg.test(file.name); } export function checkImgType(file: File) { return isImgTypeByName(file.name); } export function isImgTypeByName(name: string) { return /\.(jpg|jpeg|png|gif|webp)$/i.test(name); } export function getBase64WithFile(file: File) { return new Promise<{ result: string; file: File; }>((resolve, reject) => { const reader = new FileReader(); reader.readAsDataURL(file); reader.onload = () => resolve({ result: reader.result as string, file }); reader.onerror = (error) => reject(error); }); }