whale-plus
Version:
A Component Library for Vue 3
31 lines (30 loc) • 1.41 kB
TypeScript
export interface Chunk {
blob: Blob;
sparkResult: any;
start: number;
end: number;
hash: string;
index: number;
}
/**
* 创建文件块
*
* 该函数的目的是将一个大文件分割成多个小块,以便于分块处理,如分块上传到服务器
* 每个文件块包含文件的一部分,以及一些元数据,如文件块的起始位置、结束位置、哈希值和索引
*
* @param file 要分割的文件对象
* @param index 当前文件块的索引,用于确定文件块在原始文件中的位置
* @param chunkSize 文件块的大小,以字节为单位
* @returns 返回一个包含文件块信息的对象,包括文件块的Blob对象、起始位置、结束位置、哈希值和索引
*/
export declare function createChunk(file: File, index: number, chunkSize: number): Chunk;
/**
* 计算文件块的MD5哈希值
* 此函数用于生成一个文件块的MD5哈希值,它通过使用SparkMD5库和FileReader API来实现
* 选择使用Promise来处理异步文件读取操作,确保在文件读取完成后才计算哈希值
*
* @param chunk 文件块对象,包含需要计算哈希值的文件信息
* @returns 返回一个Promise,解析为文件块的MD5哈希值字符串
*/
export declare function calcChunkHash(chunk: Chunk): Promise<string>;
export declare function calcChunkHashAndSparkResult(chunk: Chunk): Promise<unknown>;