Serverless 除了可以用來自建網盤,還能特別便捷地搭建圖床。
程序員寫作一般會用 Markdown 格式,Markdown 雖然簡潔方便,但圖片的插入卻是一個問題。這時候就需要用到圖床了。
什么是圖床?
一般來說,網絡文章上的配圖,在瀏覽器打開后都會有一條圖片鏈接,這個鏈接指向的服務器就是「圖床」。
在網上寫博客的朋友們,如果需要復制某張圖片,偶爾會遇到「圖片禁止引用」的情況,就是因為各大網站的圖床不允許公開訪問。此時,你就需要另存圖片,再重新上傳插入。如果有自己的圖床,那么寫博客的時候就不用來回折騰插圖了。
效果展示
首先,我們需要先開通騰訊雲 Serverless 雲函數和對象存儲 COS 服務;
接下來,我們可以通過雲函數控制台直接進行操作,或者通過 Serverless Framework 工具進行部署。
一、使用雲函數控制台部署
1. 新建函數並上傳函數代碼包
代碼包地址:https://github.com/awesome-scf/scfimgbed
注意:zip 包內應能直接看到 index.js,不能是在文件夾內
2. 修改文件配置
打開「函數管理 - 函數代碼」,修改 defaultconfig.js 文件配置,修改完成后,將該文件重命名為 config.js。
3. 創建對象存儲 COS 桶
如果沒有對象存儲的存儲桶,需要創建一個,並在存儲桶概覽中獲得 Bucket 和 Region 信息:
並在存儲桶內創建文件夾:
4. 新建觸發器
修改完成后點擊保存,並在「觸發管理」中,新建兩個觸發器:
通過上面四步,圖床應用就新建成功啦~
二、通過命令行部署
1. 安裝命令行工具 Serverless Framework
npm install -g serverless
2. 下載項目模版代碼
進入模版下的函數目錄頁,修改配置信息
sls init imgbed-for-scf
cd imgbed-for-scf/scf
在配置文件config.js
里填入您的 SecretId 與 SecretKey
const config = {
tencent_cos: {
SecretId: 'XXXXXXXXXX', //您的 SecretId
SecretKey: 'XXXXXXXXXXX', //您的 SecretKey
}
}
module.exports = config
您也可以通過 sls registry imgbed-for-scf
指令,快速了解項目的詳細信息。
3. 部署
回到根目錄下,deploy 完成部署。
cd ..
sls deploy
4. 測試應用
部署成功后,打開 scf
目錄下的 upload.html
文件,將創建成功的 API 網關 URL,填入 scf_url 字段里
保存后,在瀏覽器中打開該頁面,即可使用您自己的圖床應用:
One More Thing
立即體驗騰訊雲 Serverless Demo,領取 Serverless 新用戶禮包 👉 serverless/start
歡迎訪問:Serverless 中文網!