摘要:但線程過多也許會觸發圖床的保護機制,同時也和自己電腦配置有關,這個得結合實際情況考慮了。圖床限制這個是圖片過多一定是大概率出現的,上傳請求的頻次過高很容易被限流封。
前言
經過幾個小伙伴的提醒,發現個人博客中的許多圖片都裂了無法訪問;原因就不多說,既然出現問題就得要解決。
原本我的處理方式非常簡單粗暴:找到原有的圖片重新下載下來上傳到新的可用圖床再把圖片地址替換。
這樣搞了一兩篇之后我就絕望了。。。
之前為了代碼能在公眾號里也有好的閱讀體驗,所以能截圖的我絕不貼代碼,導致一篇文章多的得有十幾張圖片。
好在哪位大佬說過“以人肉XX為恥”,這種重復勞動力完全可自動化;于是便有了本次的這個工具。
它可以一行命令把你所有 Markdown 寫的內容中的圖片全部替換為新的圖床。
運行效果如下:
使用可以直接在這個地址下載 jar 包運行:https://github.com/crossoverJ...
當然也可以下載源碼編譯運行:
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 重新執行程序它會自動過濾掉已經替換的圖片,不會再做無用功,這點可以放心。圖片保存
默認情況下,下載的圖片會保存在本地,我也建議借此機會自己本地都緩存一份,同時名字還和文中的名字一樣,避免今后圖床徹底掛掉后連恢復的機會都沒有。
總結這個程序的代碼就沒怎么講了,確實也挺簡單,感興趣的可以自己下來看看。
目前功能也很單一,自用完全夠了;看后續大家是否還有其他需求再逐漸完善吧,比如:
圖床上傳失敗自動切換到可用圖床。
整體處理效率提升。
任務執行過程中更好的進度展現等。
再次貼一下源碼地址:
https://github.com/crossoverJie/blog.toolbox
你的點贊與分享是對我最大的支持
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/74468.html
摘要:接下來講解一下博客中用的圖床阿里云對象存儲,簡稱,雖然目前大家用的比較多的是七牛云之類的,但是因為我個人原因我還是選擇了阿里云,后面我會簡單說明下原因。 showImg(https://segmentfault.com/img/remote/1460000008838754?w=960&h=300); 前言 之前打算寫一篇有關個人博客SEO優化的體驗和一些自身體會,但是發現自己還沒完全...
摘要:接下來講解一下博客中用的圖床阿里云對象存儲,簡稱,雖然目前大家用的比較多的是七牛云之類的,但是因為我個人原因我還是選擇了阿里云,后面我會簡單說明下原因。 showImg(https://segmentfault.com/img/remote/1460000008838754?w=960&h=300); 前言 之前打算寫一篇有關個人博客SEO優化的體驗和一些自身體會,但是發現自己還沒完全...
摘要:七牛上傳圖片博客之前的圖片也都用的七牛,但編輯和上傳分離還是很麻煩,所以一直很心水上周降到,感覺短期內應該不會再降了,于是果斷入手,今天在和使用圖床功能遇到了一些麻煩,網上也沒找到好的教程,所以覺得有必要寫一篇博客和大家分享一下使用方法。 MWEB+七牛 上傳圖片 博客之前的圖片也都用的七牛,但編輯和上傳分離還是很麻煩,所以一直很心水meb,上周mweb降到50¥,感覺短期內應該不會再...
摘要:最近基于開發了一款圖床插件,現在已經開源并上架應用商店。通過方法把轉成,然后放在里測試一下看來效果是的,接下來就是對圖床插件進行開發的步驟了。至此,整個插件的開發發布流程就已經完成了。 showImg(https://user-images.githubusercontent.com/12172868/57382983-8f29b900-71e0-11e9-8fe9-c0f12fd54...
閱讀 2641·2021-10-12 10:12
閱讀 787·2019-08-29 17:25
閱讀 2790·2019-08-29 17:24
閱讀 3219·2019-08-29 17:19
閱讀 1804·2019-08-29 15:39
閱讀 3048·2019-08-26 16:50
閱讀 1992·2019-08-26 12:17
閱讀 2700·2019-08-26 12:16