【问题标题】:Contents of file not getting decoded correctly even when getting success response in Postman即使在 Postman 中获得成功响应,文件的内容也无法正确解码
【发布时间】:2021-06-16 05:20:19
【问题描述】:

我正在尝试以下与 Documentum REST API 调用相关的工作。我相信问题更多的是解码base64。我想是的……

客户端应用程序 -> Documentum API 调用以保存文档

  1. 客户端应用程序调用 API 来“创建”文档——工作正常。

  2. 然后客户端应用程序调用另一个 API 来设置在步骤 1 中创建的文件的内容。 文档内容作为“base64”格式的字符串(例如 - UkVRMDA3NTYwOC8gQ0hHMDA0MDkzNyAgLSB==)发送到 Documentum API - 工作正常

  3. 客户端应用程序从另一个 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


    【解决方案1】:

    不确定你在这里做什么。 DCTM REST 将公开指向内容(二进制)的直接 ACS 链接或直接为您提供存储在 DCTM 中的文件,您无需对编码进行任何操作,因为您很可能会通过更改编码来破坏文件

    【讨论】:

    猜你喜欢
    • 2015-11-30
    • 2019-03-25
    • 1970-01-01
    • 2017-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多