Obsidian中自動上傳蘭空圖床

黑鹿kuka發表於2024-07-30

Obsidian中自動上傳蘭空圖床

前言

本文預設讀者已經搭建好了一個蘭空圖床服務
本文中的需要修改的引數將表示為 {{ arg }},修改時請去除雙括號

在之前編寫筆記的時候,需要自己手動上傳圖片到圖床然後獲取圖片的url插入到筆記中。這種方式比較麻煩,因此筆者嘗試尋找自動上傳的方法,最終採用的是Obsidian中的一個外掛Image Uploader

安裝外掛

使用外掛的第一步就是安裝外掛,首先在社群市場中尋找Image Uploader外掛
為什麼不顯示

填充請求資訊

安裝好外掛後啟用外掛,然後進入選項

在該介面有四個部分需要輸入,分別為介面連結請求頭請求體response中的圖片連結,這些資訊的具體引數需要在圖床中查詢,所以需要登入圖床,然後進入介面介面

介面連結

介面連結部分填寫介面URL,然後加上upload

比如這裡的URL如果是http://www.example.com/api/v1, 那介面連結應該填寫http://www.example.com/api/v1/upload

請求頭

請求頭中的驗證部分需要自己使用token驗證,否則圖片將為遊客上傳

{
  "Authorization": "{{ 你的token }}",
  "Accept": "application/json",
  "Content-Type": "multipart/form-data"
}

這裡的token獲取需要我們自己去post一個資料到介面上

我們可以自己使用任何能傳送post請求的方式來獲取token。
這裡介紹兩種方式,第一種是使用postman或者apifox等介面測試工具,第二種是使用程式設計來傳送請求,本文簡單介紹使用python的requests庫安裝

Python 3.12.4 (tags/v3.12.4:8e8a4ba, Jun  6 2024, 19:30:16) [MSC v.1940 64 bit (AMD64)] on win32
>>> import requests
>>> x = requests.post("{{ 你的蘭空圖床介面 }}/tokens",{"email":"{{ 你的email }}","password":"{{ 你的密碼 }}"})
>>> x
<Response [200]>
>>> x.text
'{"status":true,"message":"success","data":{"token":"{{你的token}}"}}'
>>>

將獲取到的token替換掉請求頭中的token即可

請求體

{
  "file": "$FILE"
}

圖片連結

data.links.url

結語

使用win+shift+s即可截圖,截圖後在obsidian中ctrl+v即可自動上傳圖片

相關文章