【问题标题】:returning image file from image data in php从php中的图像数据返回图像文件
【发布时间】:2021-09-16 21:28:40
【问题描述】:

感谢您的回复;

我在$snap中有图片数据,$snap的内容是这样的:

data:image/jpeg;base64,/9j/4AAA...等

我需要我的 php 文件返回 $snap 作为图像文件;当 example-image.php oppend 它应该像 example.jpg

这是我要回复的脚本:

jQuery.get(domainPath+'&getImage&site='+inputHost,function(data){
     $("#screenshotData").html('<img src="data:image/jpeg;base64,'+data+'"/>');
});

上面的脚本会使用我的response来制作一个img html标签,我不能改变上面的脚本; 我的回应应该使上述脚本适用。

【问题讨论】:

  • 使用base64_decode($snap);,然后将其保存在像file.jpg这样的文件中
  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: php imagedata


【解决方案1】:

由于您的 JavaScript 代码需要 base64 内容,您应该能够从您的 PHP 脚本中回显它——在删除您不需要的部分之后。

<?php

$snap = 'data:image/jpeg;base64,/9j/4AAA...';

// remove the prefix 'data:image/jpeg;base64,' because JavaScript is prepending this
$data = str_replace('data:image/jpeg;base64,', '', $snap);

// output the data
echo $data;

【讨论】:

  • 为什么还要麻烦在数据中替换它,为什么不直接从 JavaScript 中删除 data:image/jpeg;base64, 呢?如果我们已经以 base64 格式提供图像,这将使数据膨胀到其原始二进制大小的大约 4/3,那么这可能不是现在急需在传输中保存少量字节的地方。
  • @CBroe,因为 OP 声明“我无法更改上面的脚本”。我认为这意味着无法调整 JavaScript。
猜你喜欢
  • 2013-12-23
  • 1970-01-01
  • 2012-01-18
  • 2014-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多