c# - 字符串变量的限制

标签 c# asp.net

我有一个 Base64 jpeg 图像字符串,它是一个简单的签名图像。我可以将字符串存储在 SQL Server 中并检索它,但是当我尝试将它传递给方法或保存在 Session 变量中时,我得到空值。您可以传递给方法或保存在 session 变量中的字符串是否有限制?

这是代码;

我从数据库中获取字符串,

      string VSignature = ds.Tables[0].Rows[0]["SignatureB64"];

// VSignature gets valued ok
// then passed to a class with method to handle image,

      Write.GetPageOneReadyToBeAltered(f_older + "\\FDD.PDF", f_older + @"\N.PDF", 
            CertID, VSignature);

//这里VSignature为空

      public static void GetPageOneReadyToBeAltered(string PageNReader, string PageNStamper, string CertificateNo, string VSignature)
        {
        // prepare page one's copy to be altered by user  

        PdfReader pdfreader = new PdfReader(PageNReader);
        PdfStamper pdfStamper = new PdfStamper(pdfreader, new FileStream(PageNStamper, FileMode.Create));
            /*
             some pdf stuff done here, irrelevant
            */
            var pdfContentByte = pdfStamper.GetOverContent(1);

             byte[] bytSig1 = Convert.FromBase64String(VSignature);

            MemoryStream msSig1 = new MemoryStream(bytSig1);
            iTextSharp.text.Image sig1 = iTextSharp.text.Image.GetInstance(msSig1);
            sig1.SetAbsolutePosition(23, 76);
            sig1.ScaleToFit(60f, 60f);
            pdfContentByte.AddImage(sig1);
       }

谢谢

最佳答案

如果您超出了字符串大小的限制,您将不会得到一个空值——您会得到一个异常。 更有可能是您在代码中做错了什么,但您没有向我们展示,所以很难说是什么。

基本上,虽然存在限制(大约十亿个字符,IIRC),但您不太可能遇到这些限制。

关于c# - 字符串变量的限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9868307/

相关文章:

c# - 应该首选哪个依赖注入(inject)生命周期?

asp.net - 中止一个 asp.net 请求而不向客户端发送任何响应

javascript - Kendo 日期选择器 - 将错误的日期格式传递给 Controller

c# - 如何从字符串末尾删除后缀?

c# - 如何将 "Find"函数添加到 IList

c# - 通过引用传递 WebControl 获得的好处

asp.net - ADPlus.config 中使用的异常代码从何而来?

c# - 使用 C# 读取数百万个小文件

c# - .NET 中是否有一种功能,方法可以通过该功能确定哪个类调用了它

c# - 如何以编程方式将图像添加到 asp.net 链接按钮