0

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

myTextBox.value = 'imagedata';

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

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

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

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

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

谢谢你。

4

2 回答 2

1

您不应该使用单个文本框来保存那么多内容。文本框只能容纳有限数量的内容。看起来你在 chrome 中达到了这个限制。

如果您真的必须存储那么多内容,那么您将不得不将内容拆分到多个文本框中。

最大大小取决于浏览器到浏览器。 浏览此处获取更多信息

于 2013-05-24T16:55:16.227 回答
0

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

解决方案:

Decrypt(Request.QueryString["myvar"].Replace(' ', '+'))
于 2013-10-30T18:45:26.280 回答