图床失效了?也许你应该试试这个工具

简介: 个人博客中的许多图片都裂了无法访问,于是便有了本次的这个工具。它可以一行命令把你所有 Markdown 写的内容中的图片全部替换为新的图床。

本次的这个工具。


它可以一行命令把你所有 Markdown 写的内容中的图片全部替换为新的图床。


运行效果如下:



使用


可以直接在这个地址下载 jar 包运行:github.com/crossoverJi…


当然也可以下载源码编译运行:


git clone https://github.com/crossoverJie/blog.toolbox
mvn clean package
java -jar nows-0.0.1-SNAPSHOT.jar --app.downLoad.path=/xx/img /xx/xx/path 100


看运行方式也知道,其实就是用 SpringBoot 写了一个工具用于批量下载文中出现的图片同时上传后完成替换。


  • 其中 app.downLoad.path 是用于将下载的图片保存到本地磁盘的目录。


  • /xx/xx/path 则是扫描 .md 文件的目录,会递归扫描所有出所有文件。


  • 100 则是需要替换文件的数量,默认是按照文件修改时间排序。


如果自己的图片较多的话还是有几个坑需要注意下。


线程数量


默认是启动了两个线程去遍历文件、上传下载图片、更新文本等内容,其中的网络 IO 其实挺耗时的,所以其实可以适当的多开些线程来提高任务的执行效率。


但线程过多也许会触发图床的保护机制,同时也和自己电脑配置有关,这个得结合实际情况考虑了。


所以可以通过 --app.thread=6 这样的参数来调整线程数量。


图床限制


这个是图片过多一定是大概率出现的,上传请求的频次过高很容易被限流封 IP。


{"code":"error","msg":"Upload file count limit. Time left 1027 second."}


目前来看是封 IP 居多,所以可以通过走代理、换网络的方式来解决。


当然如果是自搭图床可以无视。


重试


由于我使用的是免费图床,上传过程中偶尔也会出现上传失败的情况,因此默认是有 5 次重试机制的;如果五次都失败了那么大概率是 IP 被封了。


即便是 ip 被封后只要换了新的 ip 重新执行程序它会自动过滤掉已经替换的图片,不会再做无用功,这点可以放心。


图片保存



默认情况下,下载的图片会保存在本地,我也建议借此机会自己本地都缓存一份,同时名字还和文中的名字一样,避免今后图床彻底挂掉后连恢复的机会都没有。


总结


这个程序的代码就没怎么讲了,确实也挺简单,感兴趣的可以自己下来看看。


目前功能也很单一,自用完全够了;看后续大家是否还有其他需求再逐渐完善吧,比如:


  • 图床上传失败自动切换到可用图床。


  • 整体处理效率提升。


  • 任务执行过程中更好的进度展现等。


再次贴一下源码地址:


github.com/crossoverJi…


相关文章
|
7月前
|
人工智能 小程序 算法
分享64个JavaGame源码总有一个是你想要的
分享64个JavaGame源码总有一个是你想要的
179 0
|
7月前
|
人工智能 Java 关系型数据库
分享66个JavaGame源码总有一个是你想要的
分享66个JavaGame源码总有一个是你想要的
374 0
|
2月前
|
存储 前端开发 Java
Java后端如何进行文件上传和下载 —— 本地版(文末配绝对能用的源码,超详细,超好用,一看就懂,博主在线解答) 文件如何预览和下载?(超简单教程)
本文详细介绍了在Java后端进行文件上传和下载的实现方法,包括文件上传保存到本地的完整流程、文件下载的代码实现,以及如何处理文件预览、下载大小限制和运行失败的问题,并提供了完整的代码示例。
812 2
|
6月前
|
前端开发 JavaScript C++
WordPress 非常漂亮滴动态时间小工具
这是一段关于WordPress动态时间小工具的分享。作者提供了小工具的JavaScript代码和使用教程。用户需要将JS文件放入网站根目录,并在WP后台的自定义HTML小工具中添加指定代码以显示动态时间效果。教程包括了CSS和HTML部分,代码实现了一个时钟动画。
31 0
|
存储 编译器 C语言
还在为每次打开程序的输入烦恼吗,这篇文章让你不在迷茫
在之前我们编写的程序中,我们总要录入一些数据给予程序用于计算,但是当我们退出程序后录入的数据会销毁,因为此时数据都是存放在内存中。等到下次再运行程序时,数据又得从新录入,这样就非常的难受。
70 0
还在为每次打开程序的输入烦恼吗,这篇文章让你不在迷茫
|
存储 程序员 对象存储
picgo+typora 超级好用的图床工具,再也不用担心图片失效啦
picgo+typora 超级好用的图床工具,再也不用担心图片失效啦
211 0
|
Go
选择困难?试试libhunt
选择困难?试试libhunt
107 0
|
存储 Shell 开发工具
!!!如何解决使用hexo 博客上无法正常显示图片的问题【亲测可行,无脑简单,快捷省力】
!!!如何解决使用hexo 博客上无法正常显示图片的问题【亲测可行,无脑简单,快捷省力】
!!!如何解决使用hexo 博客上无法正常显示图片的问题【亲测可行,无脑简单,快捷省力】
|
Linux Docker 容器
再也不用百度了!快速构建自己的Linux命令查询系统
刚学Linux是不是被很多命令吓到了?其实可以部署一套自己的Linux命令查询系统,随时查询。
182 0
再也不用百度了!快速构建自己的Linux命令查询系统
|
监控 小程序
Win系统 - 微信居然自带修复工具?快来试试(下)
Win系统 - 微信居然自带修复工具?快来试试(下)
236 0
Win系统 - 微信居然自带修复工具?快来试试(下)