【问题标题】:Display image in hex from DB to browser以十六进制显示图像从数据库到浏览器
【发布时间】:2012-04-01 08:54:26
【问题描述】:

我有一个图像 (jpeg) 存储在我的数据库 (SQL Server) 中,当我阅读它时,我得到了一个十六进制代码。但是浏览器无法显示,看不懂,显示纯代码。

Here's a hex code example

我需要帮助来实现这一目标。谢谢大家的建议。

【问题讨论】:

  • 您拥有的十六进制转储...是它在数据库中的存储方式吗?在,数据库中是否有原始二进制对象,或二进制文件的十六进制文本?
  • 它是如何存储在数据库中的? BLOB?

标签: php sql-server image hex


【解决方案1】:

如果你的 PHP >= 5.4,你可以使用hex2bin()

如果没有,您可以使用该页面上发布的替代功能:-

/**
 * Converts the hex representation of data to binary
 *
 * http://www.php.net/manual/en/function.hex2bin.php
 *
 * @param   string  $str        Hexadecimal representation of data
 *
 * @return  string              Returns the binary representation of the given data
 */
public function hex2bin($data)
{
    $bin    = "";
    $i      = 0;
    do {
        $bin    .= chr(hexdec($data{$i}.$data{($i + 1)}));
        $i      += 2;
    } while ($i < strlen($data));
    return $bin;
}

然后您只需设置标题并将结果回显到浏览器。

您会惊讶于您只需查看PHP manual 就能学到什么。希望这对你有用,或者至少让你走上正轨。

【讨论】:

    猜你喜欢
    • 2020-10-15
    • 2011-02-18
    • 2018-05-04
    • 2014-02-18
    • 1970-01-01
    • 2014-04-04
    • 2018-04-26
    • 1970-01-01
    • 2011-03-22
    相关资源
    最近更新 更多