前段时间我想要一个简单的图床。
需求很普通:上传图片、生成外链、管理文件。开源方案很多,随便找一个应该也能用。但最后我还是自己写了一个。
为什么自己写
主要是想熟悉一下 Cloudflare 这一套东西。
我用了 R2 做对象存储,Pages Functions 做接口,前端放在 Pages 上。功能不复杂,代码也不多,但写完之后对这些东西怎么配合会更清楚一点。
过程中也遇到了一些小问题:
- 上传权限怎么控制
- 外链怎么访问
- CORS 怎么配
- 文件名要不要处理
- 文件太大怎么办
这些问题用现成工具的时候可能不用管,但自己写就绕不开。
不一定更好
这个图床不一定比现成方案好。
现成工具功能更多,也更成熟。我自己写的只是够我用,很多高级功能都没有。
但好处是我知道它怎么跑的。哪天上传失败、权限不对、接口报错,我大概知道从哪里查。
什么时候用现成的
如果是正式工作,或者有明确时间要求,我肯定优先用成熟方案。
但自己的小项目就随意一点。有些东西自己写一遍,不是为了做出多厉害的产品,只是为了熟悉流程。
写完以后能用,也学到一点东西,就够了。