首页/ 模板插件/ Emlog远程图片本地化助手V1.1.0 支持自动压缩 转换webp格式
付费下载 模板插件 1.1.0

Emlog远程图片本地化助手V1.1.0 支持自动压缩 转换webp格式

图片本地化助手(picget)

写文章时从别处复制过来的图片,地址还挂在别人的服务器上。对方删图、换域名、加上防盗链,文章里就只剩破图。这个插件负责把它们搬回自己家:下载到本站上传目录、把正文里的地址换成自己的、同时在后台「资源」库里登记一条记录。

b2e11791290238.webp

cf381791290238.webp

5d331791290239.webp

08e91791290239.webp

72791791290240.webp

功能一览

功能 说明
一键本地化 编辑页顶部按钮,或 Ctrl + Shift + L,逐张抓取并回填正文
保存时自动本地化 编辑页顶部的开关就是设置页这一个,点一下即记住;开启后发布、存草稿自动处理
正文 / 摘要 / 封面 三个字段一起处理,不漏图
接入资源库 下载的图片出现在后台「资源」中,可继续复用、分类、删除
落盘前压缩 大图存盘前转成 WebP,长宽画面不变,体积一般省一半以上
上传的图也能压 开启后自己上传的图片存盘时同样压一道,全站上传入口一体处理
不重复下载 记住「远程地址 → 本站地址」,同一张图只抓一次
防盗链处理 三种 Referer 策略,抓取失败时可换一种再试
进度可视 实时显示每张图的成功 / 跳过 / 失败原因
深浅色自适应 界面配色低饱和,跟随后台窄屏与系统深色模式

一键图片本地化

编辑或新建文章时,正文上方「+ 资源媒体库」旁边并排两个控件,在同一条中线上:

  • 一键图片本地化:显示当前正文里待处理的外链张数。点击后逐张抓取,进度条实时推进,
    处理完把新地址直接回填进编辑器,正文结构、图片顺序、alt 文本都不改动。
  • 保存时自动本地化:与插件设置里的是同一个开关,点一下就记住,对之后每一次保存生效。
    开着则保存时自动抓取外链图片,关掉则只在点左侧按钮时处理。

处理完成后会给出结果明细:成功、跳过、失败各多少张,以及每张图的具体原因
(例如「命中缓存」「已本地化(2.05 KB)」「远程内容不是图片」「超出体积上限」)。

本地化是单向的:插件只把外链换成本站地址,不提供「一键撤销」。搬错了想改回去,
在编辑器里把地址换回原来的外链再保存即可,
下载下来的图片属于站点资源,可在后台「资源」里自行删除。

同一个地址在正文里出现多次,只会下载一次;已经本地化过的地址再次点击会直接命中缓存,不再发请求。

保存时自动本地化

编辑页顶部的开关与插件设置里的是同一个,改哪边都一样:设置页改完要点「保存设置」,
编辑页上点一下立刻生效并记住,下次进编辑页、换台电脑登录都是这个状态。

  • 开着:发布、手动存草稿、编辑器自动存草稿都会先把正文 / 摘要 / 封面的外链图片抓回本站再落库;
  • 关掉:保存动作完全不联网,只在点「一键图片本地化」时处理。

自动保存的草稿同样会处理(草稿正文里同样是外链,不处理就一直在外面挂着),
只是这类保存不刷新设置页的「最近一次处理」时间,避免高频草稿把时间刷花。
同一张图反复保存只会下载一次。不想让草稿也抓图,就把顶部开关关掉。

正文、摘要、封面都处理

不只正文。摘要里手写的图片、封面框里填的外链地址,都会一并抓取并替换,
开关在设置页里,默认都是开启的。

下载下来的图会进资源库

图片落盘走系统自带的上传流程,目录按年月分档、存进资源库这些行为和你手动上传完全一致,
下载完成后在后台「资源」列表里就能看到,可以继续复用、换分类、删除。
正文里用的是文件本体,所以这条记录也指向原图;开了后台「生成缩略图」时顺手生成的那张小图
没有地方引用它,落盘时会直接删掉,不让它变成一条记录删完还剩个空文件的孤儿
(资源库列表照常显示这张图,只是不另存一份小图)。

登记时记录的是远程原始文件名(比如 hero-banner-01.png),不是本地随机生成名。
这样带来两个好处:资源库里的名字可读;而且即使你清掉了地址映射缓存、换了服务器或迁移了站点,
插件还能按文件名去资源库里认回同一张图,直接复用,不会重复下载占空间。

为避免张冠李戴,文件名主体太短(如 logo.png、ab.png 这类通用名)时不做复用判断,宁可重新下载一次。

映射表指向的文件如果已经在资源库里被删掉,插件会确认文件是否真的还在:
不在了就当作没命中,清掉这条废记录并重新下载一张,绝不会往正文里写一个打不开的地址。

落盘前压缩成 WebP

抓回来的 jpg、png、bmp 在存盘前会转成 WebP:长宽和画面一点不动,体积一般能省一半以上,
一篇多图的文章能明显小下来。正文里回填的地址、资源库里登记的记录,都是转换之后的那个文件,
不会出现「记录写的是原图、盘上却是另一个文件」这种对不上的情况。

不是所有图都会转,下面这些一律原样保存:

  • 本来就带不动的格式:gif、webp、avif、svg;动起来的 PNG(APNG)也不转,转了只剩一帧;
  • 16 KB 以下的小图:省不出可见的体积,白挨一次编解码;
  • 转完反而没小够一成的图:保留原图,不做赔本买卖;
  • 服务器 PHP 没有 WebP 写入能力,或图片尺寸太大、内存不够用时:设置页会说明这一项当前不生效。

结果明细会直接告诉你这张图有没有被压:压过的写「已本地化(254.63 KB,原图 303.28 KB)」,
没压的只写「已本地化(303.28 KB)」。

在意兼容性可以把这一项关掉(设置页「保存时压缩图片(转成 WebP)」)。
只在不支持 WebP 的老浏览器(例如 IE11)上会有影响:转过的那些图它们显示不出来。

上传的图片也能压

设置页里另有一个「上传时也压缩(转成 WebP)」,默认关闭。打开后,你从电脑往后台上传图片,
文件存好之后会顺手压一道:正文里插入的是压缩后的地址,资源库里登记的也是它。
判定标准与上面完全一样——只动 jpg / png / bmp、只动 16 KB 以上的、省不下一成就不动。

处理范围是全站上传:资源库与编辑器的上传、站点 logo、会员头像、开放接口都走同一道。
logo 和头像一般只有几 KB,够不上 16 KB 的门槛,通常不会被改到。

开启前需要知道两件事:

  • 这一项会让本插件接管站点的上传入口,和云存储 / 七牛 / OSS 类插件互斥,两者只能留一个。
    关闭时完全不介入,不影响别的上传插件。
  • 站点开启了「生成缩略图」时,那张缩略图会跟着原图一起换格式(thum-xxx.jpg → thum-xxx.webp),
    资源库记录、磁盘文件、正文地址三者依旧一一对应。在资源库里删除这条记录,核心会把这一对一起删掉,
    删完磁盘上不留多余文件——和没开压缩时的行为完全相同。(删记录会连正文里的图一起没,
    这是 emlog 本来的行为,开不开压缩都一样。)

抓取策略与安全

  • 只处理 http / https 地址,data:、blob:、锚点、相对路径一律跳过;
  • 服务器上找得到 CA 根证书时会校验 HTTPS 证书,防止图片在半路被人换掉;
  • 默认拒绝解析到内网与保留地址的主机,避免被利用来探测服务器(自建内网图床才需要显式放开);
  • 以图片的真实内容判定类型,而不是只看响应头,对方返回错误页或防盗链提示图时会主动放弃,
    不会把垃圾文件存进资源库;
  • 边下载边限制体积,单张超限立即中断,不会因为一张大图卡住整篇;
  • 单张超时可控,慢站不会拖垮整篇处理;
  • SVG 含脚本能力,可以单独关闭。

支持的编辑器

编辑器 说明
Editormd(emlog 自带) Markdown
TinyMCE(含商店的编辑器插件,实测 8.4) HTML
KindEditor HTML
wangEditor(v4 / v5) HTML
Vditor Markdown
裸 CodeMirror Markdown
其它 / 认不出 直接读写 textarea 或 contenteditable 兜底

适配层按「先具体后通用」的顺序探测,认不出就退回兜底方案,不会因为某个编辑器版本差异整块失效。
回填统一以服务端改写结果为准(服务端同时认 Markdown 与 HTML),
所以富文本编辑器不需要另写一套替换逻辑。

Markdown 图片、HTML 的单引号 / 双引号 / 无引号 img 标签三种写法都能识别。

设置项

设置项 默认值 说明
保存时自动本地化 关闭 开启后保存文章即抓取外链图片;编辑页顶部那个开关就是这一项,在那里点一下不用保存设置页
同时处理文章摘要 开启 摘要里手写的图片同样被抓取
同时处理文章封面 开启 封面填写了外链地址时一并下载到本站
单篇最多处理张数 30 取值范围 1–200,超出部分明确提示并跳过,可再点一次继续
单张体积上限 5 MB 实际生效值不会超过 PHP 的上传限制
单张超时 20 秒 取值范围 5–120 秒
防盗链处理 携带图片所在站点的 Referer 另有「携带本站 Referer」「不携带」两种
允许本地化 SVG 开启 来源不可信时建议关闭
允许抓取内网地址 关闭 仅自建内网图床时才需要开启
保存时压缩图片(转成 WebP) 开启 抓回来的图 jpg、png、bmp 存盘前转 WebP;gif、webp、avif、svg 与 16 KB 以下小图不转
上传时也压缩(转成 WebP) 关闭 自己上传的图存盘时同样压一道;开启后会接管站点上传入口,与云存储类插件互斥

设置页顶部还有三项统计:已本地化图片张数、地址映射缓存条数、最近一次处理时间。

「已本地化图片」数的是本插件抓下来、此刻仍留在站点上的图片:同一张图用在多篇文章里只算一张,
在后台「资源」里删掉一张,这个数就跟着少一张。它不是从安装到现在处理过的总次数,
反复编辑同一批文章不会把数字抬高。

另有一个「清除地址映射缓存」按钮——清掉是安全的,插件会退回按文件名去资源库认图。

常见问题

抓取失败怎么办?

先切换设置里的「防盗链处理」,多数图床会校验来源,换成「携带图片所在站点的 Referer」即可。
若提示「远程内容不是图片」,说明对方返回的是错误页或防盗链提示图,插件会主动放弃。

保存变慢?

开启「保存时自动本地化」后,保存耗时会加上抓图时间。图片较多时建议只用一键按钮,处理过程是可见的。
插件已内置单张体积上限与超时,不会因为个别大图卡住整篇。

会不会重复下载同一张图?

不会,有两道保险:地址映射表记着「远程地址 → 本站地址」,同一个地址再来直接替换,不发请求;
即使映射表被清空,插件还会按远程原始文件名去资源库里认,找到同名且文件仍在的图片就直接复用。

为什么有的图转成了 WebP,有的没有?

转 WebP 是有条件的:格式得是 jpg / png / bmp、原图得大于 16 KB、转完至少得省下一成体积,
四个条件缺一个就保留原图。gif、webp、avif、svg 和动起来的 PNG 根本不参与转换。
明细里写着「已本地化(新体积,原图旧体积)」的就是压过的,只写一个体积的没压。
担心老浏览器不支持 WebP,可以在设置页把「保存时压缩图片(转成 WebP)」关掉。

我刚上传的图怎么没转成 WebP?

上传那条要单独开:设置页「上传时也压缩(转成 WebP)」默认是关闭的。
开着还没转,就是上面那几个条件没满足(格式、16 KB 门槛、至少省下一成)。
只有走上传表单的图片才会被处理,AI 生成图片那种由服务端直接落盘的不经过这一步。

图片没有出现在资源库?

正常情况下都会出现。如果 content/uploadfile 目录不可写,图片无法落盘,设置页顶部会给出提示。

单页(page)能处理吗?

可以。单页与文章都在内容落库后定向更新,推荐单页也用一键按钮处理,体验更直观。

删除插件会留下什么?

设置、映射缓存、统计全部存在核心的 Storage 里,不创建自定义数据表、不修改核心表结构,
删除插件时核心会自动清理这些记录。已经下载到 content/uploadfile/ 的图片属于站点资源,不会被删除,
可以在「资源」里自行管理。

此插件为本站独立开发,请勿转卖

获取资源

¥19.9 VIP 会员价 ¥9.9
开通会员更划算
✓ 支付成功后立即解锁下载
✓ 已购资源可无限次下载
✓ 短时签名链接,防盗链保护
下载地址已锁定

购买后即可下载该资源

购买须知
1、虚拟商品一经售出,非资源本身问题不支持退款;
2、购买后可在用户中心无限次下载;
3、会员有效期内可免费下载会员资源。

全部评论0 条

还没有评论,来说两句吧~

最新上架看看还有什么

全部资源
到手价 ¥19.9