HttpServerUtility.UrlTokenDecode似乎只返回null

时间:2011-06-29 15:28:49

标签: c# null base64 httpserverutility

我似乎遇到了HttpServerUtility.UrlTokenDecode(string)的问题,因为它一直返回null,导致程序崩溃。

根据我收集的内容,此方法会将字符串转换为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可能有“字符串”值或rtfformatted字符串)

但最终发生的事情是当执行HttpServerUtility.UrlTokenDecode(urlData)行时,字节数组最终为空(在以下行中导致异常)。

是否有另一种方法将字符串转换为可行的base64,或者为什么它会继续产生空值?

1 个答案:

答案 0 :(得分:4)

根据HttpServerUtility.UrlTokenDecode documentationinput参数应为先前通过UrlTokenEncode编码的网址标记

引用:

  

UrlTokenDecode方法转换为   URL字符串标记,用于编码二进制文件   数据作为基数64位,到它的   等效字节数组表示。   使用UrlTokenDecode方法   解码在URL上传输的令牌   并使用。编码   UrlTokenEncode。