Поскольку строка, закодированная в URL, является просто закодированным символом, это означает, что если вы разбили строку и закодировали две части, вы можете объединить их, чтобы получить закодированную версию исходной строки.
Так что просто просматривайте и кодируйте 30 000 символов за раз, а затем соединяйте все эти части вместе, чтобы получить закодированную строку.
Я повторю мнение других, что вам может быть лучше с типом содержимого multipart / form-data. http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4 объясняет различия в случае, если вы не знаете. Какой из этих двух вариантов вы выберете, не будет иметь большого значения для пункта назначения, поскольку цель должна полностью понимать оба объекта.