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