【发布时间】:2020-03-16 21:18:32
【问题描述】:
我创建了一个包含 android 应用程序(用于用户)和 web(用于管理员)的系统。在 Android 应用程序中,有一个相机功能,允许用户拍摄照片并将照片存储到 MySQL 数据库。我使用 Encode Base64 方法将图像存储到数据库中,并使用 Decode Base64 方法将图像从数据库显示回 Android 应用程序。存储在 MySQL 中的图像格式是 BLOB。在 Android 应用程序中,一切运行良好。以下是当前在安卓应用中进行编码解码的代码:
public static String bitmapToBase64(Bitmap image) {
ByteArrayOutputStream os = new ByteArrayOutputStream();
image.compress(Bitmap.CompressFormat.JPEG, 100, os);
byte[] byteArray = os.toByteArray();
String encodedImageString = Base64.encodeToString(byteArray, Base64.DEFAULT);
return encodedImageString ;
}
public static Bitmap base64ToBitmap(String encodedString) {
byte[] decodedString = Base64.decode(encodedString, Base64.DEFAULT);
Bitmap bitmap= BitmapFactory.decodeByteArray(decodedString , 0,
decodedString.length);
return bitmap;
}
现在,我想将图像从数据库显示到网络。我开发的网络使用的是 PHP。当我显示图像时,图像会显示如下:
下面是我用来将图像从数据库显示到 php 页面的 PHP 代码
echo "<td align='center'><img src='data:image/jpeg;base64,".base64_encode($row["photo_before"])."'/></td>";
我能知道是什么问题吗?如何解决?
【问题讨论】:
-
尝试删除
<td align='center'><img src='和/></td> -
错误报告是否显示任何内容?还请查看 HTML 源代码,查看 image/img 显示的内容。
-
@FunkFortyNiner 没有错误
-
@AlbertoSinigaglia 当我删除时,它会显示一个很长的字符串
-
复制你的base64字符串到这里:tsaikoga.github.io/it-tools/web/index.html#/image64-page,看看图片能不能显示
标签: php android image base64 blob