我正在尝试上传图片字符串(base64)并将其另存为图像服务器端。
问题在于,当我上传大图片(1200 px宽度jpg全质量)时,我会在上传时丢失一些信息。
我的代码可以工作,因为较小的图片上传并保存得很好。
我已经检查了我的ini php文件并且上传了最大文件大小,并且最大邮件数量足够高,以至于它真的不应该是问题(40米)。
我的信息会像这样传递:
从手机摄像头获取base64图像数据(正常,可以显示图像客户端)
将图像数据放入隐藏的表单字段(此时没有信息丢失)
通过ajax POST请求发送数据(没有错误或任何内容)
从php POST变量接收图像字符串(这是我丢失信息的地方)
- 上传前的strlen:5,253,100
- 上传后的strlen:524,288
现在,当我上传更大的图片时,我没有收到任何错误。代码仍会吐出一张图片,但图片只是原始图片的前四分之一左右,其余部分是灰色的。
我发布了一些代码,但我非常有信心,因为在我提高图片大小之前,所有内容都运行良好。我肯定在POST请求期间的某些时候丢失了信息。
任何向我指出正确方向的提示都很可爱。谢谢你的阅读。
答案 0 :(得分:1)
我找到了解决方案。事实证明,当我把它放在文本框中时,我的数据被切断了。我不知道文本框有最大限制但在我的情况下文本框是以524288个字符截断我的数据。