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

简介: 个人博客中的许多图片都裂了无法访问,于是便有了本次的这个工具。它可以一行命令把你所有 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…


相关文章
|
18天前
|
前端开发 JavaScript C++
WordPress 非常漂亮滴动态时间小工具
这是一段关于WordPress动态时间小工具的分享。作者提供了小工具的JavaScript代码和使用教程。用户需要将JS文件放入网站根目录,并在WP后台的自定义HTML小工具中添加指定代码以显示动态时间效果。教程包括了CSS和HTML部分,代码实现了一个时钟动画。
8 0
|
12月前
|
JavaScript Java 区块链
经常忘记网址?将Vue项目一键打包为桌面客户端 十分钟让你解决烦恼(一)
经常忘记网址?将Vue项目一键打包为桌面客户端 十分钟让你解决烦恼
162 0
|
2月前
|
SQL 定位技术 Android开发
分享119个Android手机应用源代码总有一个是你想要的
分享119个Android手机应用源代码总有一个是你想要的
197 2
|
12月前
|
存储 编译器 C语言
还在为每次打开程序的输入烦恼吗,这篇文章让你不在迷茫
在之前我们编写的程序中,我们总要录入一些数据给予程序用于计算,但是当我们退出程序后录入的数据会销毁,因为此时数据都是存放在内存中。等到下次再运行程序时,数据又得从新录入,这样就非常的难受。
44 0
还在为每次打开程序的输入烦恼吗,这篇文章让你不在迷茫
|
2月前
|
移动开发 JavaScript C#
分享53戏源代码总有一个是你想要的(亲测每一个均可用)
分享53戏源代码总有一个是你想要的(亲测每一个均可用)
36 0
|
8月前
|
JavaScript 前端开发 Java
前端项目里常见的十种报错及其解决办法
前端项目里常见的十种报错及其解决办法
205 0
|
10月前
|
存储 程序员 对象存储
picgo+typora 超级好用的图床工具,再也不用担心图片失效啦
picgo+typora 超级好用的图床工具,再也不用担心图片失效啦
127 0
|
11月前
图片太大传输和保存不方便?一招解决你的烦恼!
在日常工作中,“拍照”是我们必不可不少的一件事情。写简报、总结都离不开图片。
104 0
|
JavaScript Java 应用服务中间件
经常忘记网址?将Vue项目一键打包为桌面客户端 十分钟让你解决烦恼
本文讲解了如何将一个Vue项目打包为桌面客户端,实现像Excel一样双击运行,适用于管理较多项目且经常忘记网址的场景。本文还讲解了 Vue 项目从下载依赖、打包和Nginx部署的全过程,可以给开发者参考学习。
11685 3
|
12月前
|
JavaScript 应用服务中间件 网络安全
经常忘记网址?将Vue项目一键打包为桌面客户端 十分钟让你解决烦恼(二)
经常忘记网址?将Vue项目一键打包为桌面客户端 十分钟让你解决烦恼
155 0