通过POST请求上传大型base64图片时丢失信息

Losing information when uploading large base64 image through POST request

本文关键字:信息 base64 请求 POST 大型 通过      更新时间:2023-09-26

我正在尝试上传一个图像字符串(base64)并将其保存为图像服务器端。

问题是,当我上传一个大的图像(1200像素宽度jpg全质量),我失去了一些信息,因为它的上传。

我的代码工作,虽然因为较小的图像上传和保存都很好。

我已经检查了我的ini php文件,并有最大文件大小上传和最大帖子足够高,它真的不应该是问题(40米)。

我的信息是这样传递的:

  • 从手机摄像头获取base64图像数据(工作,可以显示图像客户端)

  • 将图像数据放入隐藏表单字段(此时没有信息丢失)

  • 通过ajax POST请求发送数据(没有错误或任何东西)

  • 从php POST变量接收图像字符串(这是我丢失信息的地方)

——上传前strlen: 5,253,100

——strlen after upload: 524,288

  • 使用base64_decode保存图像(工作良好,保存较小的图像正确)

现在当我上传更大的图像时,我没有得到任何错误。代码仍然输出一张图片,但图片只是原始图像的顶部四分之一左右,其余部分是灰色的。

我张贴了一些我的代码,但我很有信心它不是在我的代码,因为一切都工作得很完美,直到我提高了我的图像大小。在POST请求期间的某个时刻,我肯定会丢失信息。

任何提示我在正确的方向将是可爱的。谢谢阅读

我找到解决办法了。事实证明,当我将数据放入文本框中时,数据被截断了。我不知道文本框有最大限制,但在我的情况下,文本框截断我的数据在524288个字符。