使用 Suite Script 将文件作为二进制数据上传到投递箱的 POST 请求

问题描述 投票:0回答:1

我正在尝试使用 Suite 脚本将文件从 NetSuite 上传到 DropBox。我能够成功上传文本和 csv 文件,但对于 PDF、DOC、ZIP(二进制文件)等文件。我无法直接上传。我正在尝试上传本机 NetSuite 交易 PDF(我尝试上传从 google 下载的 PDF,并通过将其从

BASE_64 
编码为
UTF_8
。)。

对于 CSV,我尝试过

let loadFileObj = file.load({
                        id: 'file Cabinet File Id'
                    })



let apiHeaders = {
                        "Authorization": `Bearer ${API_TOKEN}`,
                        'Content-Type': 'application/octet-stream',
                        "Dropbox-API-Arg": `{"path":"/Item Fulfillment/${loadFileObj.name}",
                        "mode":"add",
                        "autorename":false,
                    "mute":false
                    }`,
                        "Content-Transfer-Encoding": "BINARY"
                    }

let responseData = https.post({
                        body: loadFileObj .getContents(),
                        url: API_URL,
                        headers: apiHeaders
                    })

对于 PDF,尝试相同的方法不起作用。尝试将其从

BASE64 
编码为
UTF8
文件上传,当尝试打开它时,它是空白的。

我检查了 DROPBOX API 文档,其中提到数据应该是二进制数据,我厌倦了将其转换为二进制数据,但没有帮助。

我尝试在标题中传递参数

Content-Transfer-Encoding
,但没有成功。有人可以请教一下如何将 PDF 文件作为二进制数据上传到 Dropbox 中吗?

integration dropbox suitescript2.0
1个回答
0
投票

我也遇到同样的情况。找到解决办法了吗?谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.