目录

背景说明

方案设计

未开启COS存储之前

开启了COS存储之后

巧用imagex

开始配置

COS配置

ImageX配置

DiscuzQ的配置

效果验证


背景说明

今天在微信群里有个朋友问,关于咨询漫画风功能,目前在腾讯和百度开始了试用漫画风,想到前些日子我做过一个imagex的功能测试,发现也有漫画风功能,所以这里记录一下我是如何使用漫画风功能的;

几个概念:

discuzQ:这个是腾讯推出的一个开源的社区工具平行于discuz的一款社区开源工具,本次说明就是针对在discuzq如何启用这个功能;

imagex:这个是火山引擎这个产品下的一款专业的图像处理服务,细节可以参考这个帖子https://blog.csdn.net/weixin_44643524/article/details/112550247?spm=1001.2014.3001.5501,测试过程发现过他们有这个漫画风格功能;

方案设计

讲述完背景之后,先说说,discuz 是如何访问图像的;

未开启COS存储之前

  • 访问路径是互联网用户直接访问discuz的源站;这个方案的问题:速度比较慢,访问量比较高会很卡这个也不是官方推荐的最佳方案;

开启了COS存储之后

  • 实际上,上传和访问还是经过了源站服务器返回数据,但是在访问的路径上,也就是如下的①和②环节,直接经过了CDN访问到COS存储上的数据;(这里我做过测试,上传一个文件是先到服务器,再通过服务器上传到COS,至少截止到今天暂时没有互联网用户直接传到存储)这个方案是官方比较推荐的方案,访问速度快,不占用源站服务器的空间,但是想拓展一些功能不是很友好

  • 巧用imagex

    • 巧用ImageX的一些功能实现一些高级图像处理和效果,访问路径设计如下,可以优雅地借助imagex自带的CDN+存储+图像处理,以及自带的镜像回源能力让用户访问的时候,通过1访问到imagex即可;

  • 这个方案好处,目前ImageX官方上显示每月有10G存储+10G流量,同时图像基本处理按照之前的效果不错;重点是,想使用的漫画风格的一些图像增值处理可以串联起来;按照目前的网站用量和刚起步来看完全够用了;

开始配置

能看到这个方案其实存在一个小依赖,我们先把需要做的事情和准备做一下:总结起来看起来有三个环节,COS配置好、ImageX配置好、discuzQ配置好,主要是这三个配置就可以了;下面开始配置:本文重点会讲解在 imagex 和dscuzq如何配置,COS配置相信大家都会用

COS配置

这里参考官网给的要求进行配置,需要注意下面几个点:

需要记住图片中的这个 源站域名这个位置,因为这个在imagex要让imagex 镜像回源时候填写的目的地;

ImageX配置

https://console.volcengine.cn/imagex/service_manage/),imageX的初始配置相对来讲步骤会比较多,但不复杂,首先需要解决好实名认证、充值个10块钱等(为什么要充值钱,主要是防止用量超额后可以防止被关停,提前充值几块钱或者根据自己的网站实际使用情况来评估)

规划:按照上面方案,我们需要规划一个独立域名用来访问图片和附件的资源,这里我以:imagex.75live.com 为规划域名(你也可以用static.xxxx.com 或者 imagex.xxx.com 类似这样的格式,记住,千万不能提交 www.xxx.com 因为www是你的网站访问数据的域名,用途最好区分);

开始配置:创建服务,这里服务名称不随便写,主要是一个标记、域名填写 上面规划域名,imagex.75live.com

等待审核:官方人员上班的时候,应该 1天左右就审核通过了,还是比较快的,审核通过后去配置镜像回源;(选中你的服务--基础配置)

一定要注意这个两个位置,上面我截图说明了,镜像源站,填写 COS的地址:

我这里是:75live-1251152306.file.myqcloud.com 记得,header 填写:host 只是 75live-1251152306.file.myqcloud.com ,这里两处需要填写,填写完保存就可以了;

做dns解析,到dnspod (DNS服务商,我用的dnspod)上将imagex.75live.com 指向分配的cname,类似CDN的操作;

配置模板,配置模板才能打开我想用的漫画风格(找不到漫画风格的功能配置,就去附加组件开启一下)

这里计划配置两种,效果1,全景漫画风;效果2,只保留人脸效果的漫画风;

效果1配置

配置完毕之后,去 模板配置中可以看到这样的配置:~tplv-n9b2vwdhz3-conic-v1:resizeWidth:resizeHeight.awebp (resizeWidth:resizeHeight 是参数)

效果2配置:

配置完毕之后,去 模板配置中可以看到这样的配置 ~tplv-n9b2vwdhz3-face-conic-v1:smartv2_width:smartv2_height.jpeg (smartv2_width:smartv2_height是参数,参数的意思是,这个数值可以变,比如 :~tplv-n9b2vwdhz3-face-conic-v1:300:0.jpeg,300:0可以替换成其他数字代表宽高)

DiscuzQ的配置

分两块后台开启存储

  • 代码文件替换:

代码文件是:/app/Api/Serializer/AttachmentSerializer.php 的 99---116行,参考如下注释替换一下,每个人替换每个人的;(替换之前做好备份)

// 图片缩略图地址if ($model->type == Attachment::TYPE_OF_IMAGE) {if ($model->getAttribute('blur')) {$attributes['thumbUrl'] = $url;} else {if ($model->is_remote) {//imagex镜像回源替代原生的方法,替换方法 比如效果2 模板是~tplv-n9b2vwdhz3-face-conic-v1:smartv2_width:smartv2_height.jpeg,就需要将“~tplv-n9b2vwdhz3-face-conic-v1:” 替换进去就行$attributes['thumbUrl'] = $url .'~tplv-n9b2vwdhz3-face-conic-v1:' . Attachment::FIX_WIDTH . ':' . Attachment::FIX_WIDTH. '.jpeg' ;} else {// 缩略图不存在时使用原图$attributes['thumbUrl'] = $this->filesystem->disk('attachment')->exists($model->thumb_path)? Str::replaceLast('.', '_thumb.', $url): $url;}}} elseif ($model->type == Attachment::TYPE_OF_ANSWER) {$attributes['thumbUrl'] = $url;}

覆盖如上文件,就可以了;

效果验证

  • 效果2的效果网站效果:https://www.75ww.xyz/thread/144

  • imagex测试效果:

    • 测试地址1:https://imagex.75live.com/public/attachments/2020/12/17/cyUORKoyNSiS9DewYa1JZwkihQulVTrTZegm7OaU.JPEG~tplv-n9b2vwdhz3-face-conic-v1:500:500.jpeg
    • https://imagex.75live.com/public/attachments/2020/12/17/cyUORKoyNSiS9DewYa1JZwkihQulVTrTZegm7OaU.JPEG~tplv-n9b2vwdhz3-conic-v1:800:0.awebp

原图:

如果有什么问题和疑问欢迎评论;

巧用ImageX镜像回源在discuzq开启漫画头像相关推荐

  1. 使用 Lambda 函数URL + CloudFront 实现S3镜像回源

    1.背景说明 亚马逊云科技S3是一种对象存储服务,提供行业领先的可扩展性.数据可用性.安全性和性能.各种规模和行业的客户都可以在S3存储和保护任意量的数据.为提高数据安全性,很多客户会选择将现有数据迁 ...

  2. 最新ai创作系统CHATGPT镜像系统源码+支持GPT4.0+支持ai绘画(MJ)+实时语音识别输入+免费更新版本

    AI系统CHATGPT镜像程序源码+支持GPT4+支持ai绘画+实时语音识别输入+免费更新版本 一.AI创作系统 二.系统介绍 三.系统程序下载 四.安装教程 五.主要功能展示 六.更新日志 一.AI ...

  3. ATS 6.2.1中缓存文件过期并不回源校验的“坑”

    事先说明 标题说是"坑",并没有说是"bug",也就是多半是玩的姿势不对. 线上问题 我司(lecloud)目前线上大小文件都是使用的ATS 6.2.1版本,昨 ...

  4. CDN 二级回源实现

    随着Cache节点数量的增加,大量的图片回源,导致图片源站的压力在不断增加.源站load飙高.IO飙高.由于图片源站上还有其他业务,必须使源站的压力降下来: 1.更改Cache 的回源策略(每天都有新 ...

  5. 简述回源原理和CDN常见多级缓存

    一.CDN回源 1.回源原理 源站内容有更新的时候,源站主动把内容推送到CDN节点. 常规的CDN都是回源的.即:当有用户访问某一个URL的时候,如果被解析到的那个CDN节点没有缓存响应的内容,或者是 ...

  6. Nginx:作为缓存,支持Range回源

    一.Range回源 1.1 Nginx的Range回源.ngx_http_slice_module模块.--with-http_slice_module参数 Nginx的ngx_http_slice_ ...

  7. 小谈CDN回源函数计算的应用场景

    CDN团队联合函数计算团队近期推出了一个全新功能,即通过CDN把回源流量指向函数计算进行处理,该功能旨在帮助CDN用户能通过函数计算快速处理和便捷处理回源数据为目的,用户仅仅需要在CDN回源地址填写函 ...

  8. cdn回源php_别让CDN的回源把你的服务器拖垮,采用正确的回源策略

    我们有一台服务器提供的服务主要是以动态页面为主,静态页面都是固定的内容平时更新的很少,最近这台服务器的应用升级到了新版本访问量增大了不少,随之的问题就来了,最近每天一到9点负载就超过警戒值,然后负载持 ...

  9. 通用图床服务架构解析(百万级回源/天)

    Hulk 图床是支持 360 公司绝大部分业务的图片服务,支持多种图片处理功能,如:裁剪.压缩.滤镜.pHash 计算.人脸识别.格式转换.gif 首帧提取--等等,支持的业务线包括:搜索.图搜.新闻 ...

最新文章

  1. 三层交换不同VLAN间通信
  2. linux学习笔记4:linux的任务调度,进程管理,mysql的安装和使用,ssh工具的使用,linux网络编程...
  3. C语言笔试常考知识点
  4. Mr.J--HTTP学习笔记(二)-- URL详解
  5. Vue中,在<template>内进行页面链接跳转
  6. 基于KVM、Xen、OpenVZ等虚拟化技术的WEB在线管理工具
  7. 1.Echarts的坑:切换tab时,echart显示默认的100px
  8. mysql 安装是否成功,启动,查看配置文件,连接
  9. php 单位食堂订餐,机关单位食堂订餐系统
  10. 抖音设备注册生成device_id与install_id hook分析记录
  11. 5个拍出可爱宝宝的方法
  12. 《计算机操作系统》重点知识笔记整理(一)
  13. WAP 构建 Java 应用 和 WAP经验总结
  14. 当初的愿望实现了吗?看华为云普惠AI这一年
  15. 两级交错升压 DC/DC 转换器中传导 EMI 噪声的建模和预测
  16. 《UnityAPI.Quaternion四元数》(Yanlz+Unity+SteamVR+云技术+5G+AI+VR云游戏+Quaternion+Angle+Dot+Euler+立钻哥哥++OK++)
  17. 它被称为“蓝领”的编程语言!90%的财富500强公司都在使用!
  18. 古希腊神话故事:雅典娜的神像
  19. 百度AI开放平台 | QT图像识别(P1 百度AI 图像识别-P2 图像编码处理-P3 获取access-token-P4 图像处理结果)
  20. 杂牌平板mt6797_单核强劲但耐久不足的MT6797_平板电脑评测-中关村在线

热门文章

  1. linux之安装postgresql-13
  2. 百度SEO站群仿企鹅音乐APP手机界面模板
  3. 公有云的未来:要么统治世界,要么灭亡
  4. Unity2019编译器下使用Ump无错误,打包exe不播放 或 将exe文件在其他电脑下运行不播放
  5. YOLO计算二分类目标检测的Precision、Recall代码实现
  6. RHCE就该这么搞01
  7. 6道常见Linux运维面试题讲解!
  8. stm32+sh367309的驱动代码,已通过测试
  9. 秒速五厘米One more time,One more chance
  10. QToolButton双击事件