我正在尝试将文件分成片段以将其上传到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