2024-08-22

[C#] 可程式化的免費圖床方案 - Cloudinary

之前圖床都是用 imgur ,但是最近因為客戶違規,導致我的 API 或是 IP 被擋住

這時候客戶基本上想要換一間圖床,所以簡單做一下功課,基本上不知道問誰就問了一下 GPT 

之後就整理了一下幾家,今天就先分享 Cloudinary 



1.  Cloudiary - 是一個基於雲端的媒體管理和處理平台,專注於圖像和視頻的存儲、管理、處理和優化。它提供了豐富的 API 和開發工具,

幫助開發者在網頁或應用程序中更高效地處理多媒體內容,基本上我們不會用到優化跟處理,今天就是專注再上傳跟取得網址的部份

其實這功能很強大,他甚至有自己的 marketplace 



2. 先註冊,註冊完之後就可以拿到 API KEY 

之後你可以拿到一個連 environment variable 基本上格式就是 

cloudinary://<your_api_key>:<your_api_secret>@dhxxxxx

3. 再來就是程式碼的部份,基本上官方有提供套件,所以並不困難

https://www.nuget.org/packages/CloudinaryDotNet/

C# code:



基本上就可以拿到,上傳後的網址


4. 身為 白嫖 試用一族必須要注意免費的用量,他官方是寫你是用的是所謂的 credit 但是這 credit 要怎麼計算呢?

他預設會給你 25 credits ,然後他有 一個舉例:

他官方是這樣寫的:

一個  credit 可用於:

1000 次轉換

大多數圖像轉換(包括複雜的鏈式轉換)都算作單個轉換。

大多數視頻轉換都是按秒計數的。

(每秒轉換的次數取決於提供的視頻解析度)。

某些需要複雜處理的高級轉換或格式具有特殊的轉換計數規則。

1 GB 託管存儲空間

存儲包括您的主要資產存儲、每個派生資產的緩存副本(來自已交付的轉換)以及備份到 Cloudinary 備份存儲的任何修訂。

1 GB 提供的頻寬


對於圖像,頻寬基於傳輸的圖像檔大小。

對於視頻,1 GB 通常等於 ~500 秒的傳輸標清視頻或 ~250 秒的高清視頻)

或每種的組合部分。

例如,假設在一個 30 天內,您需要:

2 GB 影像和視訊儲存空間(2 學分)

4 GB 傳輸頻寬(4 學分)

4000 次轉換 (4 credits)

基本上,我覺得一般狀況下,一個中小網站,透過 CDN  做緩存,應該是可以,當然如果量大就是乖乖只能買 credit 了,但是至少算是給的福利還可以



reference:

https://community.cloudinary.com/discussion/437/question-about-credit

https://cloudinary.com/documentation/dotnet_quickstart

https://cloudinary.com/documentation/developer_onboarding_faq_free_plan