首页 > 解决方案 > Chrome 上的 Base64 编码图像无法在 Laravel 上正确保存

问题描述

我们的网络应用程序有一个内容可编辑的 div,用于回答问题。客户端可以将图像直接粘贴到 div('contenteditable' 的基本功能),这会将粘贴的图像转换为 base64 字符串。

我们注意到 OSX Chrome 处理 base64 解码(编码?)与其他浏览器不同。我们的示例图像在 Safari 上变成了大约 220 000 个字符,但 Chrome 生成了近一百万个字符的 base64 数据。

这反过来会导致 POST 数据被剪裁,并且只保存图像的一部分的问题。图像之后的 POST 数据中的所有其他内容也会被剪裁。否则请求没问题,Laravel 会像保存其他任何数据一样保存剪切的数据,并且不会在任何日志中抛出任何错误。

PHP.ini 设置应该没问题(例如 post_max_size=64M,php 内存限制 = 1024M),Laravel 中是否有一些设置可能导致剪辑?

标签: phplaravelgoogle-chrome

解决方案


推荐阅读