【发布时间】:2021-06-16 05:20:19
【问题描述】:
我正在尝试以下与 Documentum REST API 调用相关的工作。我相信问题更多的是解码base64。我想是的……
客户端应用程序 -> Documentum API 调用以保存文档
-
客户端应用程序调用 API 来“创建”文档——工作正常。
-
然后客户端应用程序调用另一个 API 来设置在步骤 1 中创建的文件的内容。 文档内容作为“base64”格式的字符串(例如 - UkVRMDA3NTYwOC8gQ0hHMDA0MDkzNyAgLSB==)发送到 Documentum API - 工作正常
-
客户端应用程序从另一个 API 获取文档并获取与“base64”格式字符串相同内容的文档。 - 工作正常
现在,在第 3 步,当我必须获取文档时,我希望内容以 utf-8 格式返回。我尝试将文件内容(base64 格式的字符串)解码为 utf-8 可读格式(在编码为 base64 之前是实际文件内容的格式)。
我在 Postman 上尝试了以下代码作为“测试”脚本,但在 Postman 控制台上没有收到任何错误。
var CryptoJS = require("crypto-js");
var plainText=pm.response.json().attachments; \\ Taking json response of API call
//console.log(plainText); \\Gives back base64 formatted which was set as document contents
intermediate = CryptoJS.enc.Base64.parse(plainText); \\Doing parse
var response_txt = CryptoJS.enc.Utf8.parse(intermediate).toString(); \\Changing to utf-8
console.log(response_txt);
当我在 Postman 上执行“发送和下载”时,文件正在下载,但是当我打开文档时出现以下错误。 “Adobe Acrobat 无法打开文档,因为文件类型不受支持或文件已损坏(...并且未正确解码)”
我没有明白我做错了什么。 [1]:https://i.stack.imgur.com/FqGP7.png
我想要的只是当我获取对 Documentum 的文档 api 调用时,我希望文档以可读格式返回。
我需要以下指导: js 脚本(如上所示)是否存在解码 Postman 内容的问题? 或者 在对 Documentum 进行 API 调用时,我需要做些什么单独的事情吗?
谢谢
【问题讨论】:
标签: javascript postman cryptojs documentum