无法使用 SharePoint 文件下载 REST 下载 docx 文件 API & Java

Can not download docx file using SharePoint file download REST API & Java

我从 SharePoint 服务器获得了附加的 img 值作为响应,但无法将其写入 docx 文件。使用 Postman 下载的文件 API 给出了相同的响应,如果我将 Postman 响应保存到 docx 文件,那么它可以完美保存,但不是来自 Java 端。如果我使用 Java 将相同的响应写入 docx 文件,该文件已损坏。

我正在使用此 REST API 从 Sharepoint 下载文件:

SiteURL/_api/web/getfilebyserverrelativeurl('relativeURL/Shared Documents/test.docx')/$value

很可能服务器以二进制形式返回文档 (docx) (application/octet-stream)。您的代码保存文档的字符串表示形式:

        ResponseEntity<String> response = restTemplate.exchange(fileUrl, HttpMethod.GET, request, String.class);
        String responseStrFromSharePoint = response.getBody();

这就是应用程序无法解码文件的原因。而是保存服务器返回的确切二进制(字节),如以下代码片段所示:

        ResponseEntity<byte[]> response = restTemplate.exchange(fileUrl, HttpMethod.GET, request, byte[].class);
        byte[] responseStrFromSharePoint = response.getBody();

代码的其他部分似乎没问题。