来自 captureVisibleTab 的 Base64 解码图像。如何通过GD库将其保存为jpg或png?

发布于 2024-12-24 21:08:03 字数 712 浏览 1 评论 0原文

我有这段代码将图像发送到 test.php:

 chrome.browserAction.onClicked.addListener(function(tab) {
   chrome.tabs.captureVisibleTab(null, function(img) {

   $.ajax({
   type: "POST",
   url: "http://imap24.pl/tests/dom/testy/test.php",
   data: "img=" + img,
   success: function(e){
     alert(e);
   }});


   });
 });

img 是 base64 (data:image/jpeg;base64,/9j/4AAQSkZ...)。我在 test.php 中有这个脚本

<?php
if (isset($_POST['img'])) {
$img = $_POST['img'];
$data = base64_decode($img);
$im = imagecreatefromstring($data);
imagejpeg($im, 'simpletext.jpg');
imagedestroy($im);
}
?>

,结果我收到了这条消息

数据格式无法识别

有什么问题吗?

I have this code which send an image to test.php:

 chrome.browserAction.onClicked.addListener(function(tab) {
   chrome.tabs.captureVisibleTab(null, function(img) {

   $.ajax({
   type: "POST",
   url: "http://imap24.pl/tests/dom/testy/test.php",
   data: "img=" + img,
   success: function(e){
     alert(e);
   }});


   });
 });

The img is base64 (data:image/jpeg;base64,/9j/4AAQSkZ...). I have this script in test.php

<?php
if (isset($_POST['img'])) {
$img = $_POST['img'];
$data = base64_decode($img);
$im = imagecreatefromstring($data);
imagejpeg($im, 'simpletext.jpg');
imagedestroy($im);
}
?>

And as the result I get this message

the data is not in a recognised format

What's wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

多情癖 2024-12-31 21:08:03

正如您所说,图像如下所示:data:image/jpeg;base64,...
因此,您应该剥离此 Data-URL 的第一部分,然后将其直接写入文件:

$comma = strpos($img, ',');
$data = base64_decode(substr($img, $comma+1));
file_put_contents("simpletext.jpg", $data);

As you stated the image looks like this: data:image/jpeg;base64,…
So you should strip the first part of this Data-URL, then write it directly to a file:

$comma = strpos($img, ',');
$data = base64_decode(substr($img, $comma+1));
file_put_contents("simpletext.jpg", $data);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文