TP6使用think-qrcode的show()方法无法正常显示问题

在进行项目开发的时候遇到了要生成二维码的问题,因为二维码需求比较简单,所以在综合一些第三方库的情况下选择了think-qrcode,这是一款针对ThinkPHP5的二维码生成 SDK,但是在TinkPHP6同样适用。

一、执行命令安装

composer require dh2y/think-qrcode

安装完成后显示下面内容

二、在控制台中使用

<?phpnamespace app\controller;use dh2y\qrcode\QRcode;
use app\BaseController;
use think\facade\Config;class Qr extends BaseController
{public function index(){$code = new QRcode();$res = $code->png('测试',false, 6)->logo(app()->getRootPath() . 'public/static/logo.jpeg')->entry();return $res;}}

可以在“项目名/upload/qrcode/”下找到生成的二维码

三、自定义生成目录

根据提供的README.md文档,需要在config下新建一个qrcode文件

并配置如下

<?php// +----------------------------------------------------------------------
// | 二维码设置
// +----------------------------------------------------------------------return ['cache_dir' =>'public/storage/qrcode',           //缓存地址
//    'background'=> app()->getRootPath() . 'public/static/logo.png'    //背景图
];

此处注意,要修改一些配置内容,找到QRcode文件,将“ Config::get(‘qrcode.’);”改为“Config::get(‘qrcode’);”删除“.”,否则无法读取qrcode配置文件中的内容

此时再执行控制器方法即可实现自定义路径

四、show()方法遇到的问题

此时当使用show()方法时,页面无法正常显示

<?phpnamespace app\controller;use dh2y\qrcode\QRcode;
use app\BaseController;
use think\facade\Config;class Qr extends BaseController
{public function index(){$code = new QRcode();$res = $code->png('测试',false, 6)->logo(app()->getRootPath() . 'public/static/logo.jpeg')->show();return $res;}}

打开QRcode文件文件查看show()方法

    /*** 显示二维码*/public function show(){$url = Request::instance()->domain().'/'.$this->outfile;exit('<img src="'.$url.'"/>');}

点击F12查看文件路径

在thinkphp6中读取public下的内容时默认隐藏public字段,因此删除“/public”对show()方法做如下修改

 /*** 显示二维码*/public function show(){$url = Request::instance()->domain().'/'.ltrim($this->outfile,'/public');exit('<img src="'.$url.'"/>');}

修改后再进行访问,即可正常显示

问题完美解决!!!

TP6使用think-qrcode的show()方法无法正常显示问题相关推荐

  1. Java黑皮书课后题第7章:**7.18(冒泡排序)使用冒泡排序算法编写一个排序方法。编写一个测试程序,读取10个double型的值,调用这个方法,然后显示排序好的数字

    **7.18(冒泡排序)使用冒泡排序算法编写一个排序方法.编写一个测试程序,读取10个double型的值,调用这个方法,然后显示排序好的数字 题目 题目描述 冒泡排序法 / 下沉排序法 破题 代码 运 ...

  2. Java黑皮书课后题第7章:7.15(消除重复)使用下面的方法头编写方法,消除数组中重复出现的值。编写一个测试程序,读取10个数,调用该方法,并显示以一个空格分隔的不同数字

    7.15(消除重复)使用下面的方法头编写方法,消除数组中重复出现的值.编写一个测试程序,读取10个数,调用该方法,并显示以一个空格分隔的不同数字 题目 题目描述与运行示例 破题 代码 21.11.11 ...

  3. 自己封装的一个js方法用于获取显示的星期和日期时间

    自己封装的一个js方法用于获取显示的星期和日期时间 /*** 获取用于显示的星期和日期时间* @param date* @returns {string}*/ function getWeek(dat ...

  4. 【cocos2dx】rapidjson使用方法以及中文显示的解决方法【续】

    上一个博客讲了怎么用rapidjson读取中文字符串,但是有一个很明显的缺陷 就是不能直接读取数据编辑器导出的数据.下面我们来修复这个bug并且将代码精简到不到原来的一半大小. 上一博客的地址是:[c ...

  5. 保护眼睛的好方法(电脑显示)

    保护眼睛的好方法(电脑显示) 告诉大家一种保护眼睛的好方法: 桌面->右键->属性->外观->高级->项目选择(窗口).颜色(L)选择(其它)将色调改为:85,饱和度:1 ...

  6. qrcode的使用方法

    qrcode.js是一个用于生成二维码图片的插件. 使用时只需写两个函数即可,首先是: function toUtf8(str) { var out, i, len, c; out = "& ...

  7. net发布的dll方法和类显示注释信息(字段说明信息)[图解]

    自己发布的dll添加的另一个项目中突然没有字段说明信息了,给使用带来了很多的不便,原因是为了跨项目引用,所以导致不显示注释信息的,一下是解决这个问题的方法. 在要发布(被引用)的项目上右键 => ...

  8. php json_encode 替代方法 (亦可显示中文)

    json_encode在ajax应用的开发里是必不可少的一个函数,但是json_encode的使用条件是比较苛刻的,需要在php 5.2.0以上并且需要PECL json在1.2.0以上才可以使用. ...

  9. ecshop首页显示折扣的方法,ecshop商品显示折扣的方法

    在网上有很多关于ecshop详细页调用折扣和节省的方法,而首页需要调用折扣的话也可以照葫芦画瓢来修改.整理一下看看是不是可以 首先参考一下详细页添加折扣和节省的方法: 打开程序根目录 includes ...

最新文章

  1. 手机编程micropython_MicroPython可视化拼插编辑器:让硬件编程更智能!
  2. 开心一刻,你和导师之间有什么有趣的事情?
  3. saltstack批量加用户脚本
  4. vb的GUID生成算法
  5. cygwin安装skyeye 所需的软件包列表
  6. 有趣的图说 HashMap,普通人也能看懂
  7. 物联网 终端设备_您拥有多少个物联网设备?
  8. HTTP状态码大全(常见 HTTP Status Code 含义查询)
  9. 【codejam_Round1B_C】Mousetrap
  10. CSS 盒模型 基本术语解释
  11. 含蓄的告别,google今日LOG
  12. 解决问题的能力和个人学习能力总结。
  13. 使用Qt通过Post发送Json格式数据
  14. cesium-接入监控视频
  15. C语言BCC异或效验
  16. python语言的实验心得体会范文_实验心得体会范文
  17. 全球及中国标签印刷行业十四五发展形势与需求规模预测报告2022版
  18. mysql死锁分析工具show engine innodb status
  19. 数据分析实践——面试官:如果DAU下降如何归因?(以抖音为例)
  20. 计算机开机时的音乐是什么,电脑开机的那段音乐是什么啊?很好听啊

热门文章

  1. 泛微OA-年份浏览框增加年份值
  2. 关于SHADOWS_SCREEN
  3. lintcode 949. 斐波那契数列 II
  4. Docker教程(一)安装Docker
  5. HashMap中的putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict)解读
  6. linux禁用垂直同步,禁用glxgears的垂直同步
  7. Android操作响应时间测试方法
  8. 爬虫练习-12306自动购票升级版
  9. 扬帆策略|10万亿市场疯狂反攻,撑爆5万人,大牛市要来了?
  10. 学嵌入式,就是练武功。