【问题标题】:PHP get image from byte[] out of a DatabasePHP从数据库中的字节[]获取图像
【发布时间】:2012-06-09 09:46:00
【问题描述】:

我想用 PHP 脚本显示图像。 我从数据库中获取图像数据。数据是一个字节[]。 有人知道怎么做吗?

我试过了:

function GetImage($imageDataArray)
{
   $base64String = "";
   for($i = 0; $i < count($imageDataArray); $i++)
   {
       $string = trim(strtr(base64_encode($imageDataArray[$i]), '+/', '-_'), '='); 
       $base64String .= $string;
   }

   return 'data:image/png;base64,' . $base64String ;
}

在这里调用它:

echo '<img src="'.$im->GetImage($imageDataArray).'" alt="Picture" />';

但我没有得到结果。图片未显示。

【问题讨论】:

  • 看看以下 [base64 编码图像][1] [1]:stackoverflow.com/questions/3259967/…
  • @Ummar:我试过这样(见我的代码)。不合适。
  • 您是否将 content-type 标头设置为 image/png?喜欢header("Content-Type: image/png");
  • 是的,我试过了。但还是同样的问题。

标签: php database image


【解决方案1】:

摆脱base64_encode() &amp;&amp; use urlencode() || rawurlencode()

【讨论】:

  • @Ummar:我认为使用 urlencode() 它不会运行。我认为,base64_encode() 是错误的,因为我得到这样的字符串:data:image/png;base64,MTM3ODANzgNzEMTMMTAMjYMTAMAMAMAMTMNzMNzINjgODIMAMAMAMTI4MAMAMAMTI4OANgMAMAMAMTk1NjIOTcM... 我在 ASP.NET MVC 中尝试了相同的方法。我在那里没有任何问题,并且base64字符串不同。
【解决方案2】:

这可能对你有帮助 Imagick::readImageBlob

【讨论】:

  • 感谢您的回复,但我不想使用外部库。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-03
  • 2019-06-09
  • 1970-01-01
  • 2019-04-23
  • 1970-01-01
  • 2014-05-24
相关资源
最近更新 更多