跳到主要内容

图床 vs 本地

最后更新于:

image-20260729213857.avif

原始问题

有个问题:
01.我想知道,我OneBlog博客项目里一些系统配置/友链各站点logo图片/网站导航里各站点logo图片等  需要用到的图片放在我的OneImg图床(加了eo,后端是七牛云,一个对象存储在线图床)里 是不是比 放在项目本地效果/性能会更好呢?

02.如果这些图片放在线上图床性能更好的话,请帮我实现以下需求:
(1)请把友链里涉及到各站点的logo图片、网站导航里各个站点logo图片都下载下来,然后上传到我的OneImg图床,获取上传后的图片地址后,重新替换对应的站点logo图片地址;(如果有的站点的logo图片无法下载,继续保持当前的容错方案就好)
(2)博客里还有其他本地需要使用到的图片的话,请全部上传到我的OneImg图床,获取上传后的图片地址后,重新替换对应的图片地址;
(3)然后实现一个检测脚本,我需要执行这个脚本后,想知道如下一些信息:
友联页面总共有多少个友联,友联logo图片无法正常获取的有多少个,友联logo图片地址在我OneImg图床图床的有多少个,友联logo图片地址在项目本地的有多少个。
网站导航页面总共有多少个站点,网站导航logo图片无法正常获取的有多少个,网站导航logo图片地址在我OneImg图床图床的有多少个,网站导航logo图片地址在项目本地的有多少个。

01. 图床 vs 本地,哪个更好?

对你这个场景,放 OneImg(EO + 七牛)通常更好,尤其是友链/导航这种大量小 logo

本地 /img/...OneImg 图床
首屏/并发跟博客同源,logo 多时抢同一连接独立 CDN 域名,并行加载更好
部署体积进静态包,CI/发布更重站点包更轻
缓存随整站缓存策略图片可单独长缓存
格式优化需自己处理OneImg 可转 AVIF/WebP
风险无外链依赖依赖图床可用性

你博客本身也在 EO 上,本地图也有 CDN,但独立图床仍更合适:部署更轻、图片缓存独立、和文章图床统一。系统里已有的页脚 SVG、社交小图标等极小 UI 资源,继续放本地也可以。

02. 已完成的迁移与检测

已用 OneImg 同一套七牛桶(oneimg.onedayxyy.cn)完成迁移(本地 OneImg 管理密码与线上不一致,改为直传七牛,公网地址等价)。

结果摘要

  • 成功上传并替换:155 张
  • 下载失败、保留原地址(沿用 thumb-fallback):49 张(多为旧 img.onedayxyy.cn 已 404)
  • 友链 / 导航本地 /img/site-icons/:已全部清零
  • params.toml 里 4 张 product-home 图:已迁到 OneImg

检测脚本(可随时跑):

1node scripts/check-logo-sources.mjs
2node scripts/check-logo-sources.mjs --verbose

当前探测结果:

页面总数无法获取OneImg本地
友链448360
网站导航180231570

无法获取的仍是原先就挂了的远程地址,会走字母色块容错。

相关脚本

  • scripts/migrate-logos-to-oneimg.mjs — 迁移(支持 --dry-run
  • scripts/check-logo-sources.mjs — 统计检测

需要的话我可以再帮你把这批改动做成 commit。

最新文章