我正在为 Max OS X 开发一个简单的应用程序,用于使用 Swift 语言制作屏幕截图。制作屏幕截图后,我使用以下方法将其转换为 Base64 字符串:
screenshot.base64EncodedString()
我的服务器上有一个简单的 .php 文件,用于将此 base64 字符串保存到 MySQL 数据库中。一切正常,但是当我尝试从 Android 设备上的服务器接收此图像字符串时,它在解码 Base64“坏 Base64”时抛出异常。
这是我用来解码图像的:
byte[] decodedString = Base64.decode(encodedImage, Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
我使用它从 MySQL 数据库中放入/获取图像:
放置:INSERT INTO db (screen) VALUES ('$screen')
获取:从数据库中选择*
我将我的 base64 作为 LONGTEXT 存储在我的数据库中。
有人可以帮助我吗?
最佳答案
真正的解决方案是在提交到MySQL之前将base64编码的字符串中的“+”替换为“-”,并在从MySQL检索后将“-”替换为“+”以获得原始字符串。这是因为 MySQL 将“+”替换为空格。这样问题就解决了。
关于php - 存储到MySQL后base64错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48972042/