-
Notifications
You must be signed in to change notification settings - Fork 1
Workflow
techird edited this page Apr 6, 2016
·
9 revisions
本文中截图部分托管在 github,如果发现截图无法显示,请自行跨越长城。
在这个项目中,我们将使用 NodeJS 创建一个 Web 应用,支持用户上传照片以及维护其元数据。具体功能包括:
- 支持上传图片到服务器,并且保存到腾讯云 COS 服务中
- 保存图片访问信息以及元数据到腾讯云 MongoDB 中
- 支持更新图片元数据
- 列出所有图片记录,支持搜索以及分页
- 支持记录并查询搜索关键字历史
- 支持图片及其元数据的删除
下面,我们将一步步带领大家完成这个 Web 应用。
目前项目 4 已经在线上运行,地址为 http://project4.qcourse.net。
项目对应的 HTTP 请求报文已经分享到 Postman 中,安装了 Postman 的同学可以直接导入或者运行。
https://www.getpostman.com/collections/bf1a387c72503ec19560
开发过程中,可修改 Postman 的 HTTP 请求地址到自己项目对应的线上地址。
本项目假设开发者已经了解以下基础知识,项目开展过程中这些知识不再讲解:
本项目使用到下列开发工具,读者可根据自身情况选择是否使用:
- SecureCRT - 用于连接到腾讯云服务器,Linux 环境可以直接使用 ssh
- SecureFX - 用于同步开发环境代码到服务器上
- PM2 - 一个 NodeJS 应用容器,支持应用自动重启和 Watch 模式
本项目使用到的云资源包括:
- Step0. 初始化 Node 源码,使线上可访问
- Step1. 支持用户上传图片到云服务器
- Step2. 把上传的图片存储到腾讯云 COS 服务中
- Step3. 把文件访问信息存储到 MongoDB 中
- Step4. 列出所有上传的文件记录
- Step5. 支持图片元数据更新
- Step6. 添加分页支持和搜索到列表上
- Step7. 添加搜索历史记录
- Step8. 支持文件及元数据删除
到目前为止,一个较为完整的图片图床应用的 Node 服务端就搭建完毕了。大家看看从这个案例都学习到了哪些知识。
- 腾讯云 COS 服务的管理及其 SDK 的使用,包括上传和删除
- 腾讯云 MongoDB 服务的申请、密码管理;MongoDB 的连接以及 CRUD 操作
- 使用
multer
处理文件上传 - 使用
body-parser
解析 JSON 类型的报文 - 使用
co
来处理异步代码 - 使用
pm2
来搭建开发和生产环境 - 一般的分页业务处理方法