.net经常出现“Base-64 字符数组的无效长度。”

问题描述

日期时间:2014-12-1010:25:01IP:119.79.147.167上一路径:http://xxx.com/ShopOrder.aspx当前路径:http://xxxcom/ShopOrder.aspxHttpCode:500异常类型:System.FormatException异常对象:mscorlib反射对象:Byte[]FromBase64String(System.String)异常消息:Base-64字符数组的无效长度。异常信息:System.FormatException:Base-64字符数组的无效长度。在System.Convert.FromBase64String(Strings)在System.Web.UI.ObjectStateFormatter.Deserialize(StringinputString)在System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize(StringserializedState)在System.Web.UI.Util.DeserializeWithAssert(IStateFormatterformatter,StringserializedState)在System.Web.UI.HiddenFieldPageStatePersister.Load()奇怪的是我这个页面没有用到加密解密,只用到从cookie里面取值

解决方案

解决方案二:
你是否会对一个字符串执行FromBase64String转换?如果字符串参数没有经过Base64编码,转换会报错的。
解决方案三:
转换的字符串不是标准的base64格式的。要么中间混杂了空格、空行。
解决方案四:
如果你自己没有调用base64解码编码的话,可能是ViewState引起的。看看下面这个讨论Whatcausingthis“InvalidlengthforaBase-64chararray”里面有说Viewstate太大了。

时间: 2024-11-05 05:20:38

.net经常出现“Base-64 字符数组的无效长度。”的相关文章

快速解决C# android base-64 字符数组的无效长度问题_C#教程

解决方法: 在android向C# 后台发送图片的时候,把图片转成字符串发送的时候出现 base-64 字符数组的无效长度 错误应该在传递参数前,使用Replace("+", "%2B"),后台接收后用Replace("%2B", "+"),这样一替换,问题就解决了

一波C语言字符数组实用技巧集锦_C 语言

字符数组倒序 #include <stdio.h> void daoxu(char str[]){ int i; char temp; for(i = 0; i < strlen(str) / 2 ; i ++){ temp = str[i]; str[i] = str[strlen(str) - i-1]; str[strlen(str) - i-1] = temp; } } 单词计数    int wordCount(char str[]){ int i; int count = 0

c++-des 加密后密文赋给另一个字符数组,解密出问题

问题描述 des 加密后密文赋给另一个字符数组,解密出问题 我用des加密后,对原始密文解密没有问题. 但是使用这两个函数 void MessageName2::setCiphertxt(const char * ciphertxt_var) { this->ciphertxt_var = ciphertxt_var; } const char * MessageName2::getCiphertxt() const { return ciphertxt_var.c_str(); } 原始数据我

2013级C++第14周项目——一维数组、字符数组

课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759 [项目1 - 数组大折腾] 将所有元素值加倍后保存在数组中,最后由前往后输出数组中所有元素的值,再由后往前输出数组中所有元素的值,再输出数组中的所有大于100的数,以及下标为3的倍数的元素值. (1)创建一个长度为20的整型数组,通过初始化,为数组中的前10个元素赋初值,然后通过键盘输入后10个元素的值,从前往后(从第0个到第19个)输出数组中元素的值,每5个元素换一行.

java io系列18之 CharArrayReader(字符数组输入流)

从本章开始,我们开始对java io中的"字符流"进行学习.首先,要学习的是CharArrayReader.学习时,我们先对CharArrayReader有个大致了解,然后深入了解一下它的源码,最后通过示例来掌握它的用法. 转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_18.html CharArrayReader 介绍 CharArrayReader 是字符数组输入流.它和ByteArrayInputStream类似,只不过Byte

指针-c语言中字符数组初始化问题

问题描述 c语言中字符数组初始化问题 字符数组初始化1: char str[]=""123"";//不报错2: char str[4]; str=""123"";//不能将const char[4] to char[4]字符指针初始化1: char *str=""123"";//不报错2: char *str; str=""123"";//不报错求

c语言先用scanf初始化了一个字符指针,之后再定义字符数组出现内存不可读,在线等,急求

问题描述 c语言先用scanf初始化了一个字符指针,之后再定义字符数组出现内存不可读,在线等,急求 #include #include int main() { char*s; scanf("%s",s); //printf("%sn",s); //int n = strlen(s); //printf("%dn",n); char ret[56]; return 0; } 解决方案 s只是指针变量,没有分配内存 char*s; s = mall

java io学习(十七) CharArrayReader(字符数组输入流)

CharArrayReader 介绍 CharArrayReader 是字符数组输入流.它和ByteArrayInputStream类似,只不过ByteArrayInputStream是字节数组输入流,而CharArray是字符数组输入流.CharArrayReader 是用于读取字符数组,它继承于Reader.操作的数据是以字符为单位! CharArrayReader 函数列表 CharArrayReader(char[] buf) CharArrayReader(char[] buf, in

C++语言基础-字符数组

奇怪的是,C++不支持字串变量(放置文本的变量),C++程序中的字串是用char数据类型的数组表示的.例如,可以将变量赋予char数组如下: char text[] = "This is a string."; 这就在内存中分配18字节的内存空间用于存放字串.根据你的领悟能力,也许你会发现该字串中只有17个字符.分配18个字节的原因是字串要以终止null结尾,C++在分配内存空间时把终止null算作一个字符. 新术语 终止null是个特殊字符,用|0表示,等于数值0.程序遇到字符数组中