我正在使用Laravel实现一个简单的应用程序。我想知道,当我在邮件文本中发送二维码时,是否需要先将二维码存储在数据库中,以指定图像的文件通过??
如果答案是肯定,有没有办法不使用表单标签来存储二维码?
发布于 2019-03-07 21:54:28
我不认为你需要存储实际的二维码。
二维码只是一种表示字符串的方式。通常,人们会在二维码中输入URL。
您可能只需将源数据存储到您的数据库中,并从数据生成QR。
如果数据是一个URL,使用QR的设备应该能够链接到url,这将把它带回您的应用程序。您可以将参数放在URL的末尾,以允许您的应用程序从数据库中检索该用户的数据。
您甚至可以使用签名的URL,这样最终用户就不能更改它。
这里有一篇我发现的可能有帮助的文章。它不是特定于laravel的,但将有助于理解二维码。https://www.kerneldev.com/2018/09/07/qr-codes-in-laravel-complete-guide/
发布于 2019-03-07 21:00:44
您可以将图像转换为base64,然后将其存储为文本。有关如何编码和解码http://php.net/manual/en/function.base64-decode.php的更多信息,请访问http://php.net/manual/en/function.base64-encode.php
示例encode:
$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.发布于 2019-03-07 21:16:22
您还可以将图像存储为BLOB,它作为base64编码的图像具有较少的开销,并且不会作为可搜索的字符串进行索引。
更好的做法可能是在数据库中只存储二进制文件的链接,而不是数据本身。
https://stackoverflow.com/questions/55044271
复制相似问题