二维码已生成但未显示在页面上

QR code is generated but not showing on page

VIEW (HTML)

<tbody> 
  <?php foreach ($order_data as $key => $value): ?>
    <tr>
      <td> <?php echo $value['id'] ?> </td>
      <td> <img src="<?php echo base_url('z_ex/v_1/render/generateQRcode/'.$value['id']) ?>" alt="..."> </td>
    </tr>
  <?php endforeach; ?>
</tbody>

控制器(脚本)

<?php defined('BASEPATH') or exit('No direct script access 
 allowed');
 ini_set('display_errors', 1);
 error_reporting(E_ALL);

 require "vendor/autoload.php";
 use Endroid\QrCode\QrCode;

class Render extends Admin_Controller
{

    public function __construct()
    {
        parent::__construct();

        $this->not_logged_in();
    }

    public function index(){

        if (!in_array('viewOrder', $this->permission)) {
            redirect('z_ex/v_1/dashboard', 'refresh');
        }

        $data = $this->model_orders->getOrdersTrackingNum();
        $this->data['data'] = $data;
        $this->load->view('render', $this->data);

    }

    public function generateQRcode($bill_no = 123456) {

        $qr = new QrCode("HEy there");
        header('Content-Type: '.$qr->getContentType());
        echo $qr->writeString();

    }
}

我正在使用 Endroid QrCode 包来生成 QR 码,它是这样显示的(如图所示),没有错误,没有警告,只有黑色背景和一个小的白色方块。,我将输出更改为写入文件并保存,IT WORKS。但我不想保存它,我只想在我动态调用它时显示它,仅此而已。 Header 设置为 image/png,如您在图像右侧所见。

通过将 data:image/png;base64 添加到 HTML 中 img tagsrc 中,最终解决了这个问题,并且成功了。

谢谢大家