繁体   English   中英

如何将QR码作为图像文件存储到Mysql数据库中

[英]How to store QR code as image file in to Mysql Database

我正在使用Laravel实现一个简单的应用程序。 只是想知道,当我通过电子邮件发送二维码时,是否需要先将二维码存储在数据库中以指定图像的文件传递?

如果答案是肯定的,我有什么方法可以使用表单标签来存储二维码?

您可以将图像转换为base64,然后将其存储为文本。 有关如何编码的更多信息,请访问http://php.net/manual/en/function.base64-encode.php和解码http://php.net/manual/en/function.base64-decode.php

示例编码:

$file_encoded = base64_encode(file_get_contents($file)); //this is stringed data. save this in database. 

示例解码:

$file_encoded = base64_decode ($file_encoded); //this will be file.

您还可以将图像存储为BLOB ,与以base64编码的图像相比,开销较小,并且不会被索引为可搜索的字符串。

更好的办法可能是只将指向二进制文件的链接存储在数据库中,而不是数据本身。

我认为您不需要存储实际的QR码。

QR码仅仅是表示字符串的一种方式。 人们通常会将URL放入QR码中。

您可能只是将源数据存储到数据库中,然后从数据中生成QR。

如果数据是URL,则使用QR的设备应能够链接到该URL,这会将其带回您的应用程序。 您可以将参数放在URL的末尾,以允许您的应用从您的数据库中检索该用户的数据。
您甚至可以使用签名的URL,以便最终用户无法更改它。

这是我发现可能会有所帮助的文章。 它不是laravel特有的,但将有助于理解QR码。 https://www.kerneldev.com/2018/09/07/qr-codes-in-laravel-complete-guide/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM