HttpServerUtility.UrlTokenDecode только возвращает null
Кажется, у меня проблема с HttpServerUtility.UrlTokenDecode(string)
, поскольку он постоянно возвращает ноль, вызывая сбой программы.
Из того, что я собрал, этот метод преобразует строку в ее Base64 Byte-Array. К сожалению, первоначального разработчика кода больше нет с нами, и кажется, что не многие в моем офисе знакомы с кодом.
public string DecodeUrlData(string urlData)
{
string lsReturnVal = string.Empty;
byte[] decodedrtfBytes = HttpServerUtility.UrlTokenDecode(urlData);
lsReturnVal = System.Text.ASCIIEncoding.ASCII.GetString(decodedrtfBytes);
return lsReturnVal;
}
Это код, который был написан, и urlData
имеет следующее значение:
urlData = "pdfSignature template testing."
(Также следует знать, что urlData
может иметь значение "string" или строку rtfformatted)
Но в конечном итоге происходит, когда HttpServerUtility.UrlTokenDecode(urlData)
выполняется строка, байтовый массив заканчивается нулем (вызывая исключение в следующей строке).
Есть ли другой способ преобразовать строку в base64, который будет работать, или почему он продолжает выдавать нулевое значение?
1 ответ
Согласно HttpServerUtility.UrlTokenDecode
документация, input
Параметр должен быть токеном Url, предварительно закодированным через UrlTokenEncode
,
Цитата:
Метод UrlTokenDecode преобразует маркер строки URL, который кодирует двоичные данные в виде 64-разрядных цифр, в его эквивалентное представление массива байтов. Используйте метод UrlTokenDecode для декодирования токенов, переданных по URL-адресу и закодированных с использованием UrlTokenEncode.