如何使用 MicrosoftGraph 将 pdf 文件上传到 Sharepoint 站点

How to upload pdf file to Sharepoint site using MicrosoftGraph

我正在尝试使用 Microsoft Graph API 将存储在移动设备上的 pdf 传输到 Sharepoint 网站。该文件被读取为 base64 字符串,该字符串被设置为站点上文件的内容。

我已成功传输纯文本文件,但无法传输 pdf。好像我只是创建一个纯文本文件,扩展名为.pdf(可以将扩展名更改为.txt,文件只包含原始文件的字符串版本)。

知道如何指定正在传输的字符串是文件的编码版本而不仅仅是纯文本吗?我假设上传图片或任何非 .txt 文件时就是这种情况,因此任何相关建议都会有所帮助。

graphClient.api('/sites/{site-id}/drives/{drive-id}/root:/UploadedFile.pdf:/content')
            .header("content-type", "application/pdf")
            .put(fileContent)
            .then((response) => {
                console.log(response);
            });

我解决了这个问题。我使用 Buffer.

将 base64 字符串转换为二进制
const fileContentAsBinary = Buffer.from(fileContent, "base64");
graphClient.api('/sites/{site-id}/drives/{drive-id}/root:/UploadedFile.pdf:/content')
            .header("content-type", "application/pdf")
            .put(fileContentAsBinary)
            .then((response) => {
                console.log(response);
            });