如何在SuiteScript 2 Suitelet中将NetSuite文件作为字节数组获取?

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

我将数据从NetSuite Suitelet发送到Square Connect API。我使用的是SuiteScript 2。

我需要通过HTTP POST将图像文件从NetSuite文件柜发送到Square。根据https://docs.connect.squareup.com/api/connect/v2#endpoint-v1items-uploaditemimage的Square文档,数据需要以多部分形式作为二进制数据发送。

由于https://stackoverflow.com/a/46964827/127434,我认为我已经完成了多部分表格。

但是,我还没有弄清楚如何将文件数据转换为Square接受的二进制格式。 Square抱怨:“无效的多部分表单数据”。

我很乐意收到建议。

netsuite suitescript square-connect square suitescript2.0
1个回答
1
投票

我相信file.getContents()返回二进制文件的base64编码。

因此,在您的多部分设置中,尝试在文件内容数据之前设置Content-Transfer-Encoding。

https://www.drupal.org/project/smtp/issues/2909678

所以在我上面提到你的答案中你会尝试:

if (partIsFile) {
    body.push(getContentType(p.value));
    if(partIsBinary(p.value)) body.push('Content-Transfer-Encoding:base64');
}
© www.soinside.com 2019 - 2024. All rights reserved.