gpt4 book ai didi

php - canvas toDataUrl() 如何将base64结果传入和传出mysql blob字段

转载 作者:行者123 更新时间:2023-11-29 14:15:57 25 4
gpt4 key购买 nike

我想将 Canvas 图像存储到 blob 字段中。

在服务器端,我从 toDataUrl() 收到一个 base64 编码的字符串

  • 我需要做什么才能将其放入 blob 字段?

  • 如何在 img 标签中再次显示它?

我需要使用什么代码?mysql page不是很清楚,我用的是PDO准备好的语句。

最佳答案

如果您确实需要将其存储在 blob 数据中,您可以这样做:

对于 PHP >=5.2.0,您可以使用 data:// 流包装器从数据 uri 检索文件:

$file_in_blob = file_get_contents("data://".$var_containing_the_data_uri);

其中 $var_having_the_data_uri 应替换为包含数据 URI 的变量,例如 $_POST['image']。然后您可以将$file_in_blob插入数据库。

当您需要再次在网页中显示时,您可以:

  1. 编写一个 PHP 脚本,根据 GET 参数检索 blob 内容,并将其用作图像标记的 src,或者
  2. 直接使用从toDataUrl()获取的原始数据URI作为图像标签的src

如果使用方法2,实际上不需要将数据URI解码为blob,而是直接存储数据URI。 (当然你可能会关心数据大小......)

<小时/>

方法1示例:

您的 HTML:

<img src="img_from_db.php?img=1" />

您的img_from_db.php:

<?php
header('Content-Type: image/png'); // make the browser recognize it as PNG
echo get_image_blob_from_db($_GET['img']); // you may wish to add some checks
<小时/>

方法2示例:

<img src="<?=get_image_dataURI()?>" />

关于php - canvas toDataUrl() 如何将base64结果传入和传出mysql blob字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12663622/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com