一句话生成的云相册应用
【摘要】 云相册应用作品地址:开发者作品展览馆 https://gallery.developer.huaweicloud.cn/gallery/058412f7-79ed-4dda-803a-2bb44fe27604作品简介:基于Node.js和Express构建的轻量级云相册应用,支持用户注册登录、照片上传管理及在线预览,提供完整的相册管理体验。云相册应用项目简介云相册应用是一个基于 Node...

云相册应用
项目简介
云相册应用是一个基于 Node.js + Express 构建的轻量级在线照片管理系统。用户可以注册账号、登录系统,上传自己的照片(支持 jpg、png、gif、webp 格式),在响应式相册网格中浏览所有照片,点击查看全屏预览,以及删除不需要的照片。
系统架构
应用采用经典的三层架构设计:
- 前端展示层:使用原生 HTML/CSS/JavaScript,无需任何前端框架。登录注册页面采用卡片式布局,相册页面使用响应式网格展示照片缩略图。
- 后端服务层:基于 Express 框架,提供用户认证(bcrypt 密码哈希 + express-session 会话管理)、照片上传(multer 处理 multipart 文件)、相册管理(CRUD API)等核心功能。
- 数据存储层:使用 SQLite 嵌入式数据库存储用户信息和照片元数据,文件系统(uploads/ 目录)存储实际照片文件。
核心功能
1. 用户注册与登录
用户通过用户名、邮箱和密码进行注册。密码使用 bcrypt 进行哈希存储,确保安全性。登录后通过 express-session 维持会话状态,未登录用户自动跳转到登录页面。
2. 照片上传
支持 jpg、png、gif、webp 四种图片格式,单文件最大 10MB。提供拖拽上传和点击选择两种方式,使用 multer 中间件处理文件上传。
3. 相册展示
以响应式网格布局展示用户上传的所有照片,每张照片显示文件名、上传时间和文件大小信息。界面采用蓝白配色,简洁现代。
4. 照片管理与预览
用户可以删除自己的照片(权限隔离,仅能操作自己的照片)。点击任意照片可弹出全屏模态预览,支持 ESC 键关闭。
技术栈
| 技术 | 用途 |
|---|---|
| Node.js + Express | Web 服务器框架 |
| better-sqlite3 | SQLite 数据库驱动 |
| bcrypt | 密码哈希加密 |
| multer | 文件上传处理 |
| express-session | 会话管理 |
| 原生 HTML/CSS/JS | 前端界面 |
项目亮点
- 零框架依赖前端:使用原生 JavaScript 实现,无需 React/Vue 等框架,加载快、依赖少
- 安全可靠:bcrypt 密码哈希、session 鉴权、用户数据隔离
- 响应式设计:适配不同屏幕尺寸,移动端友好
- 拖拽上传:支持拖拽文件到上传区域,提升用户体验
- 全屏预览:模态框全屏查看照片,ESC 快捷关闭
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)