QCon 全球软件开发大会(北京站)门票 9 折倒计时 4 天,点击立减 ¥880 了解详情
写点什么

自建图床应用,我只推荐 Serverless

2021 年 3 月 08 日

自建图床应用,我只推荐 Serverless

程序员写作一般会用 Markdown 格式,Markdown 虽然简洁方便,但图片的插入却是一个问题。这时候就需要用到图床了。



什么是图床?


一般来说,网络文章上的配图,在浏览器打开后都会有一条图片链接,这个链接指向的服务器就是「图床」。


在网上写博客的朋友们,如果需要复制某张图片,偶尔会遇到「图片禁止引用」的情况,就是因为各大网站的图床不允许公开访问。此时,你就需要另存图片,再重新上传插入。如果有自己的图床,那么写博客的时候就不用来回折腾插图了。


效果展示



首先,我们需要先开通腾讯云 Serverless 云函数和对象存储 COS 服务;


接下来,我们可以通过云函数控制台直接进行操作,或者通过 Serverless Framework 工具进行部署。


一、使用云函数控制台部署


1. 新建函数并上传函数代码包

选择空白函数

从本地上传 zip 代码包(从 GitHub 下载代码)

代码包地址:https://github.com/awesome-scf/scfimgbed注意:zip 包内应能直接看到 index.js,不能是在文件夹内
复制代码


2. 修改文件配置

打开「函数管理 - 函数代码」,修改 defaultconfig.js 文件配置,修改完成后,将该文件重命名为 config.js。


SecretId 和 SecretKey 可以从「访问管理-API 密钥管理」中获得


3. 创建对象存储 COS 桶

如果没有对象存储的存储桶,需要创建一个,并在存储桶概览中获得 Bucket 和 Region 信息:

并在存储桶内创建文件夹:

非必要,和 config 配置保持一致即可


4. 新建触发器

修改完成后点击保存,并在「触发管理」中,新建两个触发器:

API 网关 GET 触发器配置,需开启集成调试

API 网关 POST 触发器配置

点击 API 网关 POST 触发器,选中「编辑」

勾选支持 CORS 并保存

找到 POST 方法地址

将 upload.html 文件中的 scf_url 改成 API 网关 POST 触发器的地址

访问 API 网关 GET 触发器的地址即可

通过上面四步,图床应用就新建成功啦~


二、通过命令行部署


1. 安装命令行工具 Serverless Framework

npm install -g serverless
复制代码

2. 下载项目模版代码

进入模版下的函数目录页,修改配置信息

sls init imgbed-for-scfcd 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 字段里


保存后,在浏览器中打开该页面,即可使用您自己的图床应用:



头图:Unsplash

作者:自建图床的

原文:https://mp.weixin.qq.com/s/dQZxBruMqCaSaUDxP5G1Hg

原文:自建图床应用,我只推荐 Serverless

来源:TencentServerless - 微信公众号 [ID:ServerlessGo]

转载:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2021 年 3 月 08 日 23:441617

评论

发布
暂无评论
发现更多内容

Alibaba开发十年,写出这本“MQ技术手册”,看完我愣住了

互联网架构师小马

Java MQ 消息中间件

第一章:认识产品经理

小C同学

产品经理 极客大学认识产品经理

可恶的爬虫直接把生产机器全部爬挂了!

java金融

Java 爬虫 布隆过滤器 反爬

第一章 总结

青葵

学习笔记2

产品经理训练营第一课作业

Jobs

产品经理训练营

Dreamed Job?

顾远山

作业 极客大学产品经理训练营 Job Model

Windows DHCP最佳实践(二)

BigYoung

windows Windows Server 2012 R2 DHCP

对产品岗位的研究和一些看法

Dylan Zhu

第一周笔记

Ashley.

PM

岗位模型差异

王一凡

【并发编程的艺术】JVM体系与内存模型

程序员架构进阶

Java 架构 并发编程 内存 28天写作

产品经理训练营 第一周作业

DB

产品经理训练营

作业 - 认识产品经理

Geek_971380

产品经理训练营

产品训练营-第一课作业

释心

28天瞎写的第二百二十三天:哎哟,我这爆脾气!

树上

28天写作

类别型特征

IT蜗壳-Tango

机器学习 七日更

一文讲弄懂什么是vlan、三层交换机、网关、DNS、子网掩码、MAC地址

DevSecOps如何提高应用程序安全性?

啸天

安全 DevSecOps 应用安全

第一章作业

Kasn

产品经理 产品经理训练营

产品经理定位

让我思考一会儿

产品经理训练营--第一章作业

Lucas zhou

产品经理训练营

重学JS | 跨域的原因和解决方案

梁龙先森

前端 编程语言 28天写作

【作业-01】认识产品经理

西西里奇

产品经理 产品经理训练营

作业一

清醒梦境

创业失败启示录|校园微生活之“极致宣传”

青城

28天写作 创业失败启示录 青城

在线教育产品经理 & 物流行业的产品经理

哈撒啦岛

产品经理 产品经理训练营

「产品经理训练营」作业 01

🌟

产品经理训练营

产品经理训练营 第一周作业记录

玲玲

产品经理训练营 岗位要求

网络安全产品经理任职要求

让时间说真话

产品经理 网络安全产品经理

认识产品经理-通过岗位模型了解自己的发展方向与空间20210119

WooBeyna

作业1

YING꯭YING

边缘计算隔离技术的挑战与实践

边缘计算隔离技术的挑战与实践

自建图床应用,我只推荐 Serverless-InfoQ