【问题标题】:display an image in php, sent from web service在 php 中显示从 Web 服务发送的图像
【发布时间】:2013-07-01 14:58:47
【问题描述】:

我正在制作一个 php 页面,在该页面中我从网络服务 Adampiere 接收数据,当我得到一张 blob 中的图片时出现了问题。

我尝试使用 $数据= “\ xffd8ffe000104a46494600010101006000600000ffdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb00 ......” (这段代码不是base64)

 
echo img src = "data: image / jpg; base64'.base64_encode ($ data)."

但不起作用,我添加了 header ("Content-type: jpg"),我只是下载了代码。 有人可以帮助我吗?请:'(

【问题讨论】:

  • webservice 的文档是否告诉您入站图像的编码是什么?如果它已经是 base64 编码,您可以将其转储到标签的 SRC 属性中,而无需使用 base64_encode 命令。

标签: php web-services blob


【解决方案1】:

你应该这样做......

如果结果被命名为$data....像这样...

$data ="\xffd8ffe000104a46494600010101006000600000ffdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb00";

那么……

<img alt="Embedded Image" src="data:image/jpg;base64,<?php echo $data; ?> "/>

【讨论】:

  • 嗨 KyleK,谢谢,但 $data 不是 base64,不显示图像 :(
  • 那是什么编码的呢?你知道吗?大多数网络服务都有文档,您可以通过这些文档找到这些东西......
  • 也许只是第一个字符“\”需要被砍掉??
  • 我想知道 enconded 是什么,但是当我输入您的代码时,检查器元素显示:“data:image/jpg;blob”但未出现 de image,我正在搜索有关这方面的信息,但是,如果您知道这一点,请告诉我
  • 你能粘贴你的确切数据吗……整个字符串长度……我可以检查……还有什么是网络服务?
【解决方案2】:

我的问题的答案:我发现她做了几次转换。 $Data 字符串是一个字节字符串(十六进制)。我所做的是将 $data 转换为 ascii(十六进制到 ASCII),然后将其转换为 base 64 并使用以下代码作为 base64 图像打印:

回声'';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多