我正在尝试将文件分成片段以将其上传到OneDrive(可恢复文件上载/为大文件创建上载会话) .

我可以为此找到java脚本示例 . 但我正在SPFx中做我的项目并做出反应框架 .

我目前正在使用以下函数将文件分割为片段 .

// Reads in the chunk and returns a promise.
 public readFragmentAsync(file, startByte, stopByte) : Promise<any>{
    var frag = ""; 
    const reader = new FileReader(); 
    console.log("startByte :" + startByte + " stopByte :" + stopByte); 
    var blob = file.slice(startByte, stopByte); 
    reader.readAsArrayBuffer(blob);         
    return new Promise((resolve, reject) =>  {
        reader.onloadend = (event) =>  {
            console.log("onloadend called  " + reader.result.byteLength); 
            if (reader.readyState === reader.DONE) {
                frag = reader.result; 
                resolve(frag); 
            }
        }; 
    }); 
}

但是reader.onloadend似乎没有被解雇 .

我正在使用以下调用调用此函数:

this.readFragmentAsync1(file, position, stopByte).then(chunkresponse =>{
//code here
}

我是否应该在此代码中对onloadend事件进行任何更改以使其触发或使其适应环境 .

我提到的github文章如下:Github Create Upload Session