Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:将图像保存到mysql中,稍后显示到html5中_Javascript_Mysql_Image_Node.js_Blob - Fatal编程技术网

Javascript:将图像保存到mysql中,稍后显示到html5中

Javascript:将图像保存到mysql中,稍后显示到html5中,javascript,mysql,image,node.js,blob,Javascript,Mysql,Image,Node.js,Blob,不要因为这个方法而责备我。我只是在练习,我想达到终点。 因此,我通过Javascript node.js使用blob字段将一些图像存储到远程mysql表中。 稍后,我想检索图像并在html5中显示它。 我对编码/解码过程很生气。我使用以下方法存储图像readAsDataURL(f);readAsBinaryString(f);readAsText(f)但是当我检索图像时,我无法将其显示在image.src中。 唯一的方法是通过phpmyadmin手动将图像加载到blob字段,然后使用以下转换将b

不要因为这个方法而责备我。我只是在练习,我想达到终点。 因此,我通过Javascript node.js使用blob字段将一些图像存储到远程mysql表中。 稍后,我想检索图像并在html5中显示它。 我对编码/解码过程很生气。我使用以下方法存储图像
readAsDataURL(f);readAsBinaryString(f);readAsText(f)
但是当我检索图像时,我无法将其显示在
image.src
中。 唯一的方法是通过phpmyadmin手动将图像加载到blob字段,然后使用以下转换将blob字段发送到html页面:

var base64 = new Buffer(results[i].tile_image, 'binary').toString('base64');
client.emit('showTile', base64);

问题是:phpmyadmin如何将二进制文件加载到blob字段中?或者,使用javascript如何将图像加载到blob中?

将注释转换为答案

请查看上传图像并将其存储在MySQL中的内容

要回答您的问题,$imgData=addslashes(文件获取内容($\u文件['userfile']['tmp\u名称]]);可以这样分解

是上载到文档的文件的关联数组,在本例中为图像。[$\u文件]

将文件读入字符串。在这种情况下,它将把文件的二进制数据存储到一个可以插入数据库的字符串中


转义任何需要转义的字符

你查过这个了吗?谢谢,非常有用。我几乎也这么做了。在教程的第7页,有一个文件加载器,但它是用php编写的,我不知道该语言。如何翻译$imgData=addslashes(file_get_contents($_FILES['userfile']['tmp_name']);电话?,知道了。问题是找到正确的方法将图像存储到MySQL blob字段中。我想我真的很接近解决方案,但没有办法得到它。我发现了一个名为dataURLtoBlob的函数,它似乎以正确的方式转换图像,因为Blob大小与通过phpmyadmin在DB表中手动存储的图像相同。但是,只要我尝试将Blob对象插入到db中,如果表字段为0,则大小为。无法插入正确的值,即16.4k。当我将Blob传递给sql命令时,是否需要对其进行转换?听起来您的思路是正确的。你有没有试过完全按照教程来做?一旦他们在第7页得到$imgData,它就被插入到blob类型的列中。看起来您引用的函数是一个javascript函数。您可能希望使用服务器端(php)而不是客户端(javascript)。我建议你完全按照教程来做。你可能忽略了一个小细节