我想将画布图像存储到blob字段中。
在服务器端,我收到来自toDataUrl()
我需要做些什么才能将它变成blob字段?
如何在img标签中再次显示它?
我需要使用哪些代码? mysql page不是很清楚,我使用PDO编写的语句。
答案 0 :(得分:1)
如果确实需要将其存储在Blob数据中,您可以这样做:
对于PHP> = 5.2.0,您可以使用data://
流包装器从数据uri中检索文件:
$file_in_blob = file_get_contents("data://".$var_containing_the_data_uri);
其中$var_containing_the_data_uri
应替换为包含数据URI的变量,例如$_POST['image']
。然后,您可以将$file_in_blob
插入数据库。
当您需要再次在网页中显示时,您可以:
src
,或者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()?>" />