ColdFusion HTTP POST большие строки - PullRequest
3 голосов
/ 21 февраля 2012

Кто-нибудь заметил, что если вы попытаетесь опубликовать строку, которая превышает 1 000 000 символов, она просто не включает поле с запросом?

... и не бросает ()!

например.

<cfscript>
var h = new http( url = "http://...", method = "post" );
h.addParam( type = "formField", name = "a", value = repeatString("a",5000) );
h.addParam( type = "formField", name = "b", value = repeatString("b",1000000) );
h.addParam( type = "formField", name = "c", value = repeatString("c",1000001) );
var p = h.send().getPrefix();
writeDump( var = p, abort = true );
</cfscript>

Поля "a" и "b" присутствуют в области формы страницы получателя.

Поле "c" отсутствует!

ColdFusion 9,0,1,274733 + chf9010002.jar, Mac OS X 10.6.8, Java 1.6.0_31

Редактировать: Теперь он работает как положено!

Не уверен, что изменилось? Моя конфигурация cf admin остается прежней. Единственный возможный кандидат, который я могу предложить - это недавнее обновление Apple Java. Может ли это быть?

Ответы [ 2 ]

1 голос
/ 15 мая 2012

Это настройка в CF администраторе.

В Coldfusion 9 (этот параметр существовал некоторое время, но может существовать в других версиях):

Нажмите на группу «Настройки сервера», чтобы развернуть, нажмите на ссылку «Настройки» (верхняя ссылка).На странице настроек:

Максимальный размер почтовых данных 100 МБ (по умолчанию) Ограничивает объем данных, которые могут быть отправлены на сервер в одном запросе.ColdFusion отклоняет запросы, превышающие указанное ограничение.

Интересно, что вы достигли предела в 100 000;Похоже, кто-то стал немного ленивым с вычислением "байтов".:) В любом случае, я бы попробовал поработать с этим параметром.

Просто к вашему сведению: вы столкнетесь с подобной проблемой усечения данных при вставке / обновлении данных, если только вы не установите для своего источника данных значение «Длинный текстовый буфер (chr)», превышающее ограничение по умолчанию в 64 000.

1 голос
/ 21 февраля 2012

Возможно, вам потребуется указать

enctype = "multipart / form-data"

...