【问题标题】:Failed to load image from MySQL to PHP page无法将图像从 MySQL 加载到 PHP 页面
【发布时间】: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>";

我能知道是什么问题吗?如何解决?

【问题讨论】:

  • 尝试删除&lt;td align='center'&gt;&lt;img src='/&gt;&lt;/td&gt;
  • 错误报告是否显示任何内容?还请查看 HTML 源代码,查看 image/img 显示的内容。
  • @FunkFortyNiner 没有错误
  • @AlbertoSinigaglia 当我删除时,它会显示一个很长的字符串
  • 复制你的base64字符串到这里:tsaikoga.github.io/it-tools/web/index.html#/image64-page,看看图片能不能显示

标签: php android image base64 blob


【解决方案1】:

直接使用$row["photo_before"]

echo "<td align='center'>
      <img src='".$row["photo_before"]."'/> 
      </td>";

【讨论】:

  • @Hawau,很高兴你做到了,如果有帮助,请接受答案。
猜你喜欢
  • 1970-01-01
  • 2011-03-25
  • 1970-01-01
  • 1970-01-01
  • 2018-11-20
  • 2020-11-25
  • 2016-07-26
  • 2022-01-02
  • 1970-01-01
相关资源
最近更新 更多