【教程】解決七牛雲圖片外鏈生效 - 5402 獲取bucket域名失敗


前段時間忙完一波,想要回來繼續把機器學習的課程筆記寫完,突然發現博客園里的所有圖片都顯示不了,通過外鏈打開,發現報錯:

{"error":"no such domain"}

一直用的是七牛雲的圖床,趕緊登陸個人產品下的對象存儲,之前bucket里的圖片都還在,但是一直提示:

5402 獲取bucket域名失敗

而且也下載不了,上網Google了一下,說是七牛雲測試域名要回收,新申請的測試域名也只有30天有效期,如果想繼續使用的話,需要綁定域名,還得是備案過的,很是麻煩。於是想着還是換了吧,實在沒心思再去折騰域名備案。

 

解決思路:

一. 下載七牛雲上的圖片到本地;

二. 利用GitHub做圖床;

三. 更新博客中的圖片鏈接。

 

具體步驟:

一. 下載圖片到本地

七牛雲上之前的bucket里的圖片已經沒辦法下載了,點擊下載鏈接沒有反應。不過還好,我們可以曲線救國,在七牛雲里新建一個存儲空間,然后把之前的圖片復制到新存儲空間里,就可以手動下載圖片了。當然啦,七牛雲提供了工具qshell,讓我們能批量copy和download對象。

1. 下載qshell,解壓到文件目錄下,並把這個目錄放置於系統環境變量里;

2. 修改qshell_windows_x64.exe為qshell.exe(以windows 64位為例);

3. windows下用cmd命令窗口,執行命令添加賬號(AK/SK在七牛雲的 個人中心->密鑰管理 里查看):

 qshell account [<AccessKey> <SecretKey> <BucketName1>]

4. 導出bucket里的文件信息:

qshell listbucket BucketName1 > file.txt

5. 提取第一列的文件名稱,linux下可以用awk命令,windows下可以用其它文字編輯工具或excel提取下:

awk "{print $1}" file.txt > file.txt

6. 批量復制文件到之前新建的bucket里:

qshell batchcopy BucketName1 BucketName2 -i file.txt

7. 利用qdownload批量下載文件:

a)編寫一個qdownload.conf的配置文件,寫法見說明

{
"dest_dir" : "D:\\Program\\qshell\\image",
"bucket" : "kplayer2",
"prefix" : "",
"suffixes" : "",
"cdn_domain" : "http://xxxxxxx.bkt.clouddn.com",
"referer" : "",
"log_file" : "download.log",
"log_level" : "info",
"log_rotate" : 1,
"log_stdout" : false
}

b)執行命令,查看下載文件和日志:

qshell qdownload qdownload.conf

 

二. 利用GitHub做圖床

文件下載到本地后,可以找新的圖床了,如果選用騰訊COS的話可以參考這篇文章

如果有GitHub賬號的話,直接就用GitHub做圖床也很方便,連接已經不像多年前那樣不穩定,速度也不會太慢,基本能滿足個人Blog需求。

  新建repository -> 新建issue -> 起個標題,上傳或拖延圖片進去,自動生成URL 

關於GitHub做圖床的高級用法,可以參考這篇文章

 

三. 更新博客圖片鏈接

如果是服務器上的博客就好辦多了,直接用寫個腳本替換就好。但是博客園上的文章,就不太清楚如何批量替換了,好在文章和圖片不多,我就手工更新了一下,如果有圖片錯誤的歡迎指出,或者如果有好的批量更新方法,也歡迎提供。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM