0

我有一个页面,它从快照工具生成图像数据 url,并通过 PHP 将生成的字符串插入 MySQL 数据库。稍后,我有一个页面可以获取并使用这些图像。这很好,除非我需要将生成的 html 保存到我的服务器以进行一些后期处理,并且图像数据 url 的长度让我头疼,并使 html 文件超过 8 到 10 MB,这会减慢整个过程。图像看起来像这样:

<img src="data:image/png:base64,iVBORw0K43+gAA4u...">

有一个非常长的字符串使得生成的 html 非常大。有没有办法将它作为 png 在我的服务器上托管,所以链接是一个正常的图像?像这样的东西:

<img src="http://www.mysite.com/image1.png">
4

2 回答 2

2

将base64转换为原始图像怎么样,您要做的是将图像作为实际文件保存到服务器。

php将base64数据转换为图像

    function toImage($base_code){
    $img_file = imagecreatefromstring(base64_decode($base_code));
    imagejpeg($img_file, 'new.jpg');
}

调用函数

echo toImage($encoded_image);

确保只传递 base64 编码的字符串而不传递图像标签

于 2012-10-01T17:46:26.703 回答
0

您可以将文件保存在其他地方,但我的猜测是您需要图像存在于数据库中。如果您将文件保存在其他地方,您的磁盘需求就会增加一倍。

在任何情况下,对此的一般解决方法是将该图像字符串保存到磁盘,并在您的数据库中跟踪路径。然后,当您生成 HTML 时,您将使用 DB 中的路径,而不是 DB 中的二进制数据。

于 2012-10-01T17:36:42.380 回答