Javascript 将PDF上载到OneDrive Microsoft Graph Rest API

Javascript 将PDF上载到OneDrive Microsoft Graph Rest API,javascript,pdf,sharepoint,graph,Javascript,Pdf,Sharepoint,Graph,我想使用JavaScript将PDF文件上载到我的SharePoint Office 365网站。我已经能够 -验证和接收令牌 -使用示例创建纯文本文件 我想将PDF文件上载到SharePoint。我已尝试将文件转换为二进制文件和base64,但生成的文件似乎是文本文件 var xhr = new ActiveXObject("Microsoft.XMLHTTP"); url = "https://graph.microsoft.com/beta/drive/root:/test10.pdf:/

我想使用JavaScript将PDF文件上载到我的SharePoint Office 365网站。我已经能够 -验证和接收令牌 -使用示例创建纯文本文件

我想将PDF文件上载到SharePoint。我已尝试将文件转换为二进制文件和base64,但生成的文件似乎是文本文件

var xhr = new ActiveXObject("Microsoft.XMLHTTP");
url = "https://graph.microsoft.com/beta/drive/root:/test10.pdf:/content"
xhr.open("PUT",url,false);
xhr.setRequestHeader("Authorization", "bearer" + " " + TOKEN);
//xhr.setRequestHeader("Content-Type","application/octet-stream");
xhr.setRequestHeader("Content-Type","application/pdf");
xhr.setRequestHeader("Content-Encoding","base64");
xhr.send(filecontent);
有人能帮忙吗

多谢各位
特里发现了这个问题。在读取文件时,内容被设置为文本。我不得不将类型更改为二进制


Bs.Type=1发现了问题。在读取文件时,内容被设置为文本。我不得不将类型更改为二进制


Bs.Type=1

你的问题和例子很清楚,但你也应该包括任何错误、警告等。问题到底是什么还不清楚。如果您没有看到错误,但是得到了错误的结果,那么指向文档的链接可能也会有所帮助。另外,您是否尝试过jQuery.ajax?可能有助于抽象XHR。我没有收到任何错误,因为在我需要PDF时,二进制字符串/base64被保存为文本文件。PDF将不会以PDF格式打开。在记事本中查看内容是我提交的字符串。问题是如何使用Graph rest api将非纯文本文件发送到SharePoint?我不知道Graph api的任何内容,但我认为对于pdf,您可能需要使用二进制来维护其编码。文档中肯定有类似的东西。祝你好运。我也尝试过将内容类型更改为八位字节流,但由于某些原因,内容仍然是字符串,纯文本文件仅使用pdf扩展名创建。看起来它没有将输入识别为base64或Binary64您的问题和示例很清楚,但是您还应该包括任何错误、警告等。还不清楚问题是什么。如果您没有看到错误,但是得到了错误的结果,那么指向文档的链接可能也会有所帮助。另外,您是否尝试过jQuery.ajax?可能有助于抽象XHR。我没有收到任何错误,因为在我需要PDF时,二进制字符串/base64被保存为文本文件。PDF将不会以PDF格式打开。在记事本中查看内容是我提交的字符串。问题是如何使用Graph rest api将非纯文本文件发送到SharePoint?我不知道Graph api的任何内容,但我认为对于pdf,您可能需要使用二进制来维护其编码。文档中肯定有类似的东西。祝你好运。我也尝试过将内容类型更改为八位字节流,但由于某些原因,内容仍然是字符串,纯文本文件仅使用pdf扩展名创建。看起来它没有将输入识别为base64或二进制