返回列表 发布新帖
查看: 56|回复: 0

[代码技巧] 子比主题 – 发布文章前台图片转webp格式功能

[复制链接]
SunJu_FaceMall
社区贡献

315

主题

190

回帖

1万

积分

等级头衔
Icon组别 : 管理员
Icon等级 :

积分成就
   钻石 : 524 颗
   贡献 : 1779 点
   金币 : 12 枚
Icon在线时间 : 1295 小时
Icon注册时间 : 2024-11-22
Icon最后登录 : 2025-11-14

荣誉勋章

会员LV.1会员LV.2会员LV.3会员LV.4会员LV.5会员LV.6会员LV.7会员LV.8会员LV.9会员LV.10

风云·优秀版主

飞流名人堂成员

1

实名认证 手机认证 vip vip-year FLLTCN发表于 2025-10-10 18:11:19 | 查看全部 |阅读模式 浙江金华

资源无需等待,交易就趁现在,全面资源整合网络大咖云集,让你轻松玩转互联网!

您需要 登录 才可以下载或查看,没有账号?立即注册

×
这是一款子比主题前台投稿用的webp格式专用,这款功能就是简单说一下吧,就是相当于在前台发布投稿的时候做了一个HTML代码在侧边,然后我们上传图片之后然后点下载webp格式,他会下载本地(不是服务器,是自己电脑/手机),如果有技术可以自行写插件二开,喜欢的自行部署吧!

tengfei_down - 2025-10-10T180951.996.webp

代码部署


一共是三个地方的代码,话不多说直接开始,先说好,这个是下载到我们本地,需要自己上传发布文章,如果有技术可以自己二开!
HTML代码
这里的HTML的代码我们定位:WP后台–>>外观–>>小工具–>>自定义HTML,将下面的代码放里面,然后我们把这个小工具放到:前台投稿-侧边栏顶部
  1. <div id="webpConverter" class="card">
  2.     <div class="upload-area">
  3.         <input type="file" id="imageUpload" accept="image/*" />
  4.         <label for="imageUpload">选择图片文件</label>
  5.     </div>
  6.     <div class="image-preview">
  7.         <div id="previewPlaceholder">图片预览</div>
  8.         <img id="imagePreview" style="display:none;" />
  9.     </div>
  10.     <button id="convertBtn" class="convert-btn" disabled>转换为 WebP</button>
  11.     <a id="downloadLink" class="download-link" style="display:none;" download="">下载 WebP 图片</a>
  12. </div>
复制代码

CSS代码
CSS代码直接丢到:子比主题–>>自定义CSS样式即可!
  1. /* 图片转webp小工具*/
  2. .webp-converter {
  3.     background-color: #f7f7f7;
  4.     padding: 20px;
  5.     margin: 20px 0;
  6.     border: 1px solid #ddd;
  7.     border-radius: 5px;
  8. }

  9. .upload-area {
  10.     margin-bottom: 15px;
  11.     text-align: center;
  12. }

  13. #imageUpload {
  14.     display: none;
  15. }

  16. .upload-area label {
  17.     display: inline-block;
  18.     padding: 10px 20px;
  19.     background-color: #00acb0;
  20.     color: white;
  21.     cursor: pointer;
  22.     border-radius: 5px;
  23.     transition: background-color 0.3s;
  24. }

  25. .upload-area label:hover {
  26.     background-color: #008c9e;
  27. }

  28. .image-preview {
  29.     text-align: center;
  30.     margin-bottom: 15px;
  31. }

  32. #previewPlaceholder {
  33.     padding: 50px;
  34.     background-color: #e5e5e5;
  35.     color: #666;
  36.     font-style: italic;
  37. }

  38. #imagePreview {
  39.     max-width: 100%;
  40.     height: auto;
  41.     margin: 0 auto;
  42. }

  43. .convert-btn {
  44.     display: block;
  45.     width: 100%;
  46.     padding: 10px;
  47.     background-color: #00acb0;
  48.     color: white;
  49.     border: none;
  50.     border-radius: 5px;
  51.     cursor: pointer;
  52.     transition: background-color 0.3s;
  53. }

  54. .convert-btn:hover {
  55.     background-color: #008c9e;
  56. }

  57. .download-link {
  58.     display: block;
  59.     margin-top: 10px;
  60.     text-align: center;
  61.     text-decoration: underline;
  62.     color: #00acb0;
  63.     cursor: pointer;
  64. }
复制代码

JS代码
JS代码直接丢到:子比主题–>>自定义JS代码即可!
  1. // 监听图片上传
  2. document.getElementById('imageUpload').addEventListener('change', (e) => {
  3.     const file = e.target.files[0];
  4.     if (!file) return;

  5.     const reader = new FileReader();
  6.     reader.onload = (event) => {
  7.         const img = document.getElementById('imagePreview');
  8.         img.src = event.target.result;
  9.         img.style.display = 'block';
  10.         document.getElementById('previewPlaceholder').style.display = 'none';
  11.         document.getElementById('convertBtn').disabled = false;
  12.     };
  13.     reader.readAsDataURL(file);
  14. });

  15. // 图片转换为 WebP 并下载
  16. function convertImageToWebP() {
  17.     const img = document.getElementById('imagePreview');
  18.     if (!img.src) return;

  19.     const canvas = document.createElement('canvas');
  20.     const ctx = canvas.getContext('2d');
  21.     canvas.width = img.naturalWidth;
  22.     canvas.height = img.naturalHeight;
  23.     ctx.drawImage(img, 0, 0);

  24.     canvas.toBlob((blob) => {
  25.         const a = document.createElement('a');
  26.         a.href = URL.createObjectURL(blob);
  27.         a.download = 'converted_image.webp';
  28.         a.click();
  29.         URL.revokeObjectURL(a.href);
  30.     }, 'image/webp');
  31. }

  32. // 绑定按钮点击事件并防止页面刷新
  33. document.getElementById('convertBtn').addEventListener('click', (e) => {
  34.     e.preventDefault();
  35.     convertImageToWebP();
  36. });
复制代码

本帖被以下淘专辑推荐:

路虽远,行则将至;事虽难,做则必成。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

飞流广播+ 发布

系统消息:柒沐已经连续答对3道难题,逆天学霸谁与争锋?!#每日答题#
10-30 17:02
系统消息:柒沐已经连续答对10道难题,逆天学霸谁与争锋?!#每日答题#
10-09 09:07
系统消息:柒沐已经连续答对3道难题,逆天学霸谁与争锋?!#每日答题#
09-24 09:00
系统消息:柒沐已经连续答对3道难题,逆天学霸谁与争锋?!#每日答题#
09-11 11:40
系统消息:柒沐已经连续答对3道难题,逆天学霸谁与争锋?!#每日答题#
09-02 09:17
系统消息:柒沐已经连续答对3道难题,逆天学霸谁与争锋?!#每日答题#
08-27 08:56
系统消息:柒沐已经连续答对3道难题,逆天学霸谁与争锋?!#每日答题#
08-20 15:12
系统消息:柒沐已经连续答对3道难题,逆天学霸谁与争锋?!#每日答题#
08-03 10:22
系统消息:柒沐已经连续答对10道难题,逆天学霸谁与争锋?!#每日答题#
06-30 08:57
系统消息:柒沐已经连续答对3道难题,逆天学霸谁与争锋?!#每日答题#
06-18 09:14
系统消息:清风网络已经连续答对10道难题,逆天学霸谁与争锋?!#每日答题#
04-11 09:40
系统消息:清风网络已经连续答对3道难题,逆天学霸谁与争锋?!#每日答题#
04-10 09:31
系统消息:IXM77777已经连续答对3道难题,逆天学霸谁与争锋?!#每日答题#
04-09 13:44
系统消息:清风网络已经连续答对3道难题,逆天学霸谁与争锋?!#每日答题#
04-09 09:22
系统消息:柒沐已经连续答对10道难题,逆天学霸谁与争锋?!#每日答题#
04-09 08:52
系统消息:清风网络已经连续答对3道难题,逆天学霸谁与争锋?!#每日答题#
04-08 09:24
系统消息:柒沐已经连续答对3道难题,逆天学霸谁与争锋?!#每日答题#
04-07 09:02
系统消息:柒沐已经连续答对10道难题,逆天学霸谁与争锋?!#每日答题#
02-27 09:35
系统消息:柒沐已经连续答对3道难题,逆天学霸谁与争锋?!#每日答题#
02-26 09:06
系统消息:柒沐已经连续答对3道难题,逆天学霸谁与争锋?!#每日答题#
02-25 08:49
站内通告

提供资源交易、信息共享、靓号交流、技术变现、学习问答、兴趣娱乐等全面服务。

1.丰富功能系统,扩展社区特色玩法,打造最好的互联网聚集圈子。

2.准确信息真实交易,安全快捷又方便,让虚拟交易面对面。

3. 天上不会掉馅饼,话术骗术迷人心,切勿脱离平台线下交易,被骗与平台无关!

4. 欺诈骗钱,违规违法将视情受到警告&禁言&封号甚至检举至👮🏻‍♀️处理!

官方Q群:123129钉推群:BAYR2383 站长QQ:3220000000

投诉/建议/商务合作联系

fl@fllt.cn

严禁私下交易,被骗与本站无关。
违反交易细则,取证立查严惩。
  • 钉钉新帖推送群
  • 官方交流QQ群
  • 站长唯一微信号

👮曝光Ta|🧿小黑屋|📴手机页|飞流网 ( 渝ICP备2025054677号-1|电信增值许可 渝B2-20250789 )|网站地图

GMT+8, 2025-11-16 14:29 , Processed in 0.087286 second(s), 60 queries, MemCached On , Gzip On.

Based on XJ-TX X3.5 Licensed

飞流论坛 HanAnalytics icp Astro vhAstro-Theme

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表