如何使用 MS Graph API 上传任何文件?
How to upload any file using MS Graph API?
我正在关注 this,我想将任何类型的文件上传到 OneDrive。它说它接受文件内容的缓冲区,但我的以下代码似乎不适用于任何类型的文件。文件上传了,但是打不开,肯定是内容乱了。
我正在尝试使用以下方法获取正文内容,以便我可以将它们与请求一起发送。
private fileToBuffer(file: File): Observable<any> {
return Observable.create(observer => {
var arrayBuffer;
var fileReader = new FileReader();
fileReader.onload = function () {
arrayBuffer = this.result;
observer.next(arrayBuffer);
observer.complete();
};
fileReader.readAsArrayBuffer(file);
});
}
我没有注意到 Angular 2 的 http PUT 将正文作为字符串。所以,我求助于使用 XHR
上传一个文件及其内容。
var oReq = new XMLHttpRequest();
oReq.open("PUT", url, true);
oReq.setRequestHeader("Content-Type", "text/plain");
oReq.onload = function(e){
console.log('done');
};
oReq.send(arrayBuffer);
我正在关注 this,我想将任何类型的文件上传到 OneDrive。它说它接受文件内容的缓冲区,但我的以下代码似乎不适用于任何类型的文件。文件上传了,但是打不开,肯定是内容乱了。
我正在尝试使用以下方法获取正文内容,以便我可以将它们与请求一起发送。
private fileToBuffer(file: File): Observable<any> {
return Observable.create(observer => {
var arrayBuffer;
var fileReader = new FileReader();
fileReader.onload = function () {
arrayBuffer = this.result;
observer.next(arrayBuffer);
observer.complete();
};
fileReader.readAsArrayBuffer(file);
});
}
我没有注意到 Angular 2 的 http PUT 将正文作为字符串。所以,我求助于使用 XHR
上传一个文件及其内容。
var oReq = new XMLHttpRequest();
oReq.open("PUT", url, true);
oReq.setRequestHeader("Content-Type", "text/plain");
oReq.onload = function(e){
console.log('done');
};
oReq.send(arrayBuffer);