96 UI optimization (#122)
* fix(home): 🐛 解决多次切换路由后页面卡顿的问题 #96 卸载路由时清除requestAnimationFrame * feat: ✨ 文件存储使用Blob格式 * style: 💄 修改部分类型any为具体类型 * feat: ✨ 界面设置中模块使用瀑布流布局 #96 * fix: 🐛 md文档更换文件夹解决控制台警告 * style: 💄 switch按钮改回使用daisyui组件 * refactor: ♻️ 所有人员列表提取tableColumn * style: 💄 奖项列表中的图片类型修复
This commit is contained in:
@@ -8,16 +8,33 @@ export function readFileBinary(file: File | Blob): Promise<string> {
|
||||
})
|
||||
}
|
||||
|
||||
export function readFileData(file: any): Promise<{ dataUrl: string, fileName: string }> {
|
||||
export function readFileData(file: File): Promise<{ data: string, fileName: string }> {
|
||||
return new Promise((resolve) => {
|
||||
const reader = new FileReader()
|
||||
reader.readAsDataURL(file)
|
||||
reader.onload = (ev: any) => {
|
||||
resolve({ dataUrl: ev.target.result, fileName: file.name })
|
||||
resolve({ data: ev.target!.result, fileName: file.name })
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function readFileDataAsBlob(file: File): Promise<{ data: Blob, fileName: string }> {
|
||||
return new Promise((resolve, reject) => {
|
||||
const reader = new FileReader();
|
||||
|
||||
reader.onload = () => {
|
||||
// 直接使用原始文件作为 Blob
|
||||
resolve({ data: file, fileName: file.name });
|
||||
};
|
||||
|
||||
reader.onerror = () => {
|
||||
reject(new Error('文件读取失败'));
|
||||
};
|
||||
|
||||
reader.readAsArrayBuffer(file);
|
||||
});
|
||||
}
|
||||
|
||||
export async function readLocalFileAsArraybuffer(path: string): Promise<ArrayBuffer> {
|
||||
const response = await fetch(path)
|
||||
const arrayBuffer = await response.arrayBuffer()
|
||||
@@ -33,3 +50,7 @@ export async function readFileAsJsonData(file: File | Blob): Promise<any> {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function getBlobObjectUrl(blob: Blob): string {
|
||||
return URL.createObjectURL(blob)
|
||||
}
|
||||
Reference in New Issue
Block a user