【问题标题】:How to store QR code as image file in to Mysql Database如何将 QR 码作为图像文件存储到 Mysql 数据库中
【发布时间】:2019-03-07 12:52:56
【问题描述】:

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

如果答案是肯定的,有没有什么方法可以在不使用表单标签的情况下存储二维码?

【问题讨论】:

    标签: php laravel


    【解决方案1】:

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

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

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

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

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

    【讨论】:

      【解决方案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.
      

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 2019-12-04
          • 2019-08-12
          • 1970-01-01
          • 2012-06-08
          • 2017-06-19
          • 2011-05-07
          • 2012-01-14
          • 2023-03-15
          • 2016-06-30
          相关资源
          最近更新 更多