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