Ошибка "array size exceeds maximum limit" при получении файла в виде массива байт

podbelski

One Level
11.07.2022
7
1
BIT
3
Всем привет.

Делаем интеграцию с сервисом, который клепает печатные формы в пдф. Отправляем json с параметрами, получаем некий байтовый массив, который надо запаковать в файл.
Основная суть кода:

Код:
Set httpObject = CreateObject("WinHttp.WinHttpRequest.5.1")       
Open "C:\Temp\test.pdf" For Binary Access Write As #FileNum
Put #FileNum, 1, httpObject.responseBody
Close #FileNum


На строчке "Put" получаем ошибку в сабже.
Как обойти ограничение на массив в 64 К?
Или может есть другие способы создания файла из массива байт?


P.S. Пытались загнать массив в NotesStream. Получаем ту же ошибку.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 983
611
BIT
453
Всем привет.

Делаем интеграцию с сервисом, который клепает печатные формы в пдф. Отправляем json с параметрами, получаем некий байтовый массив, который надо запаковать в файл.
Основная суть кода:

Код:
Set httpObject = CreateObject("WinHttp.WinHttpRequest.5.1")      
Open "C:\Temp\test.pdf" For Binary Access Write As #FileNum
Put #FileNum, 1, httpObject.responseBody
Close #FileNum


На строчке "Put" получаем ошибку в сабже.
Как обойти ограничение на массив в 64 К?
Или может есть другие способы создания файла из массива байт?


P.S. Пытались загнать массив в NotesStream. Получаем ту же ошибку.
responsebody - это в памяти...
со всеми вытекающими
в нвр юзать КОМ - это за гранью рационального
 

podbelski

One Level
11.07.2022
7
1
BIT
3
responsebody - это в памяти...
со всеми вытекающими
в нвр юзать КОМ - это за гранью рационального
нвр как расшифровывается?
"responsebody - это в памяти..." - ну да, нам скидывают массив в ответ на запрос. Там файлы на сотню, максимум две Кб.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 983
611
BIT
453
нвр как расшифровывается?
"responsebody - это в памяти..." - ну да, нам скидывают массив в ответ на запрос. Там файлы на сотню, максимум две Кб.
Навтоящее ВРемя
сотня килобайт - это ток само тело (да и неизвестно в каком виде), а вот что туда ещё КОМа напихала - тема отдельная (и мне лично) || )
а суть сказанного - в домине можно в агенте получить поток, с бинарным, на вход, не помню, на выход точно нет
есть хэпаги (куда и можно пойти, для решения темы)
если опустить детали, в хэпаге CustomRest
1678221711578.png

в Code->Java
1678221796459.png
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 983
611
BIT
453
Так оно на сервере или на клиенте? Если на клиенте, то почему бы сразу не открыть в браузере? Нафига вообще копировать? Если на сервере, я бы рекомендовал переделать на Java.
для меня загадка в следующем
1678558824643.png

т.е. из переменной в файл
а теперь
т.е. должна КОМа где-то забрать файл, но этого нет в коде
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!