在Chrome下,Base-64字符数组异常的无效长度

Invalid length for a Base-64 char array Exception under Chrome

本文关键字:异常 无效 数组 字符 Chrome Base-64      更新时间:2023-09-26

我必须将javascript函数生成的图像发送到服务器。为了做到这一点,我将图像的base64字符串存储在一个隐藏文本框中。

myTextBox.value = 'imagedata';

它适用于小文件(1MB或更小)。

但是,当我尝试发送大文件时,服务器返回"Base-64字符数组的长度无效"错误。

奇怪的是,我在Chrome上得到这个错误,但在Internet Explorer 10上没有。

当我用调试器检查字符串的值时,似乎它被Chrome截断了。

是什么导致了这个问题?有解决办法吗?

谢谢。

你不应该用一个文本框来容纳那么多内容。文本框只能容纳有限数量的内容。看来你的chrome浏览器已经达到极限了。

如果你真的必须存储那么多的内容,那么你就必须将内容分散到多个文本框中。

最大尺寸取决于不同的浏览器。查看更多信息

这可能是因为QueryString返回空格而不是+(它在Chrome中这样做,但不是I.E.)。

解决方案:

Decrypt(Request.QueryString["myvar"].Replace(' ', '+'))