javascript Netsuite脚本解码Base64

zbsbpyhn  于 2022-10-30  发布在  Java
关注(0)|答案(2)|浏览(189)

我正在与Suitescript 2.0进行Api集成。从Api返回了一个使用base64编码的数据。在这里,我需要通过解码base64并将返回的xml数据保存为.zip文件并解压缩来获得所需的数据。
相关数据可以在Notepad++中使用Plugins〉MIME Tools〉Decode Base64运行,保存为zip文件,并使用unzip打开。
我正在处理的脚本是一个计划脚本。
我尝试了上面提到的两种方法来解码Suite Answers。
1-从base64到UTF_8,带N/编码模块(对于此问题,返回的结果完全错误)
2 -链接中的解决方案:https://netsuite.custhelp.com/app/answers/detail/a_id/41271/kw/base64%20decode
(In此解决方案,当您将返回的数据保存为zip时,它会在打开zip时给出“Unexpected end of the archive”(存档意外结束)错误。)
数组缓冲区()和atob()在Suitescript中不可用。

4si2a6ki

4si2a6ki1#

我知道可以通过某个外部系统上的Lambda代理调用。
然而,如果你的数据已经是base64格式的,你可以尝试创建一个cabinet文件,并将base64编码的值作为其内容。Netsuite已经处理了base64格式的文件,所以你可能会过度处理这个问题。如果你的最终目标是将其保存为zip,这听起来不像你实际上在处理xml。
如果这不能帮助看到我对一些澄清的评论,你可以添加到你的问题。

qni6mghb

qni6mghb2#

require(["N/encode"], function(encode){ 

 var txt = encode.convert({
            string: "your Base64 string",
            inputEncoding: encode.Encoding.BASE_64,
            outputEncoding: encode.Encoding.UTF_8
        });
}

SuiteScript example
All types of encode

相关问题