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

问题描述 投票:-1回答:3

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

如果答案是肯定的,那么我有没有办法在不使用表格标签的情况下存储qr代码?

php laravel
3个回答
2
投票

您可以将图像转换为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.

1
投票

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

更好的方法可能是只存储数据库中二进制文件的链接而不是数据本身。


1
投票

我认为您不需要存储实际的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/

© www.soinside.com 2019 - 2024. All rights reserved.