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.

Другие вопросы по тегам