我一直在尝试通过将图片编码为base64字符串并将其传递给一个PHP脚本来存储在MySQL数据库中。该脚本将这个字符串存储在blob字段(我也尝试过text)。发生的情况是该字符串被如实地发送到PHP脚本,但在存储到数据库中时,它变成了完全不同的字符串。
以下是我的操作步骤:
然后将字符串“s”传递给php脚本(我已经检查过了,传递正确),然后脚本将其插入到数据库中。
此链接http://diffchecker.com/kKD4w16C包含了原始编码字符串(屏幕左侧)和存储在数据库中的字符串(屏幕右侧)。
有什么想法是为什么这样发生以及如何防止它?
提前致谢。
以下是我的操作步骤:
Bitmap image = BitmapFactory.decodeFile("/sdcard/photo2.jpg");
ByteArrayOutputStream stream = new ByteArrayOutputStream();
image.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteImage = stream.toByteArray();
String s = Base64.encodeToString(byteImage, Base64.NO_WRAP | Base64.URL_SAFE);
然后将字符串“s”传递给php脚本(我已经检查过了,传递正确),然后脚本将其插入到数据库中。
此链接http://diffchecker.com/kKD4w16C包含了原始编码字符串(屏幕左侧)和存储在数据库中的字符串(屏幕右侧)。
有什么想法是为什么这样发生以及如何防止它?
提前致谢。
varchar(255)
,而你试图存储长度为1500的字符串。 - StasGrin