Как получить файл NetSuite в виде байтового массива в SuiteScript 2 Suitelet? - PullRequest
1 голос
/ 29 марта 2019

Я отправляю данные из NetSuite Suitelet в API Square Connect.Я использую SuiteScript 2.

Мне нужно отправить файл изображения из картотеки NetSuite на Square через HTTP POST.Данные должны быть отправлены как двоичные данные в многокомпонентной форме, согласно документации Square в https://docs.connect.squareup.com/api/connect/v2#endpoint-v1items-uploaditemimage.

Я думаю, что у меня работает многочастная форма, благодаря https://stackoverflow.com/a/46964827/127434.

Тем не менее, я не знал, как получить данные файла в двоичном формате, который будет принят Square.Квадрат жалуется: «Недействительные данные из нескольких частей».

Я буду рад получить предложения.

1 Ответ

1 голос
/ 31 марта 2019

Я полагаю, что 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');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...