title: 解決圖床問題-坑爹的“免費”七牛云
date: 2018-10-26 10:21:16
categories: [工具]
tags: [圖床,新浪圖床]
背景
原來按照好多教程,使用了七牛云的圖床,不錯,但是正因為是免費的,域名失效了?。?!然后圖片全都不行了,只能尋找新的圖床,歷經(jīng)挫折。下面將我的解決方案分享出來;

虧我當時還起的名字我愛七牛

我這沒有beian的域名綁定這個干啥,很麻煩。。。圖片還能訪問(不知道是否因為cdn的關系),就是上傳不了。
環(huán)境:
mac
mweb
解決方案
新浪圖床
本來找了一個github的代碼,自己本地起個服務,但是,后來坐著沒更新了,npm編譯失敗,版本的問題,js又不太熟悉,只能另尋辦法,php代碼不少,但是也看不懂,最后終于用關鍵詞在github上找了一個java代碼,2018版本的,然后試了一下ok【源碼的方案,我會改進的,由于新浪沒有公開提供api,都是抓取的】。不過后來又找了一下,有了新的解決方案;

使用ipic軟件,下載下來之后,安裝mover插件,不付費版本只有新浪圖床,夠用了,其他的圖床有別的解決方案(因為都api都開發(fā),很好寫)
使用ipicMover掃描之后,可以將我這七牛的遷移過來

因此,對于我來說,在mweb寫完博客之后,使用mweb上傳到新浪(可以使用代碼),然后copy包含新浪地址的md到hexo中(因為自己都是保留原圖到Dropbox中的)。

然后直接提交代碼就ok了。(上圖就是替換七牛的地址)
如果沒有本地新浪api上傳的話,可以copy這個文章,然后使用ipic掃描,這樣的話就會替換地址,然后copy到hexo中就ok了。
第三方圖床
如何選擇圖床
因為自己的服務器是github,因此盡量內(nèi)網(wǎng)和外網(wǎng)都能訪問
http://bangumi.tv/group/topic/343056 這個網(wǎng)址是作者評測,就是沒有小電視的國內(nèi)訪問不了。所以,想自己定義api的可以使用這些圖床

像上圖好多都是免費的,極簡圖床,api是收費的。如果懂代碼的話,建議自己開發(fā)一下。不算難。
好用的一些網(wǎng)址,以及自己怎么使用這些圖床
catbox.moe 這個自己實現(xiàn)了文件上傳,最笨的方法,就是Chrome開啟開發(fā)組模式,然后使用postman模擬,然后copypostman的code(postman是可以根據(jù)語言生成代碼的),后來發(fā)現(xiàn)對方開放了api;

參考的網(wǎng)址
- https://sspai.com/post/40499 里面有Windows的和ipic類似的工具
- http://www.cnblogs.com/fengwbetter/fengwbetter/p/9107742.html Python的登錄微博參考,不過自己對Python不熟悉。
- https://cloud.tencent.com/developer/article/1152353 php版本,使用session上傳圖片的
- https://github.com/xx13295/sina-picbed 新浪圖床java代碼。
- https://github.com/Suxiaogang/WeiboPicBed 新浪圖床Chrome擴展
- https://www.v2ex.com/t/473771 v站的圖床推薦。
- https://github.com/qiniu/qshell/issues/188 七牛圖床域名過期的問題。
- https://invisprints.wordpress.com/2017/12/10/uploadpicinweibo/ js的新浪圖床,有大佬懂js的可以改改支持一下現(xiàn)在最新的npm啥的。
如果使用自己的微博賬號,微博上傳失敗的話,需要關閉微博地址驗證;
如果只是簡單的一兩張圖片上傳,可以使用Chrome的擴展,搜索圖床,有不少微博的插件。
圖床想找總能找到的,就是麻煩,不行就自己搞個服務器。
結(jié)論
自己使用上面的java代碼,本地啟動服務,然后使用mweb上傳到圖床服務器,copy代碼,在hexo中新建博客。然后commit,部署,自動繼承編譯就ok了。
已經(jīng)開放源碼和第一版
源碼地址:
https://github.com/RMzcq/dddjava
下載源碼自己編譯,或者從如下地址下載:https://u3492574.ctfile.com/fs/3492574-319064523
- 首先配置bootstrap.yml中的新浪用戶名密碼,記得關閉新浪雙重驗證
- 運行jar包 java -jar jar名稱
- 配置地址 http://127.0.0.1:8089/file/uploadFileToSina
參數(shù)為file 類型為file,可以使用postman或者mweb測試一下。然后就能使用啦!如果使用mweb的話,返回的參數(shù)取data,這個就是上傳后的url路徑