基于Node(bootstrap+ejs+express+formidable+fs-extra)制作的在线相册资源管理器

news/2025/2/12 18:31:04

一、项目地址为:

https://github.com/linqian123...

二、项目功能概述:

该项目实现的是一个基于Node的在线相册资源管理器,其中采用bootstrap来进行页面布局,采用ejs后台模板引擎与express后台框架来进行基本的页面渲染和路由处理,采用formidable来处理post提交的数据及图片上传的业务,采用fs-extra来进行扩展性的文件处理。我们可以在主页面进行新建相册的功能,在具体的相册目录下,可以进行图片上传,相册重命名及删除该相册的功能,当点击相册内某一张图片时,可以查看大图,并且可以选择是否删除该图片。

该项目采用MVC的结构进行开发,主入口文件为app.js,在controller文件夹下的router.js模块主要负责提供路由处理函数,在models文件夹下的file.js模块主要负责提供文件处理函数,views文件夹主要提供视图页面。其中upload文件夹主要用于存储我们新建的相册文件夹及上传的图片,temp文件夹主要作为图片上传过程的中转站,public文件夹是该项目的一个静态资源文件夹,用于存放该项目当中所有的静态资源。当运行该项目时,可以在该项目文件夹下,先在cmd当中键入命令-> npm install来下载依赖包,下载完成之后再键入命令-> node app.js,然后再打开浏览器输入 http://127.0.0.1:3000 即可进入主页面。

三、项目细节展示:

我们可以在主页面点击右上角的新建按钮,可以在弹出框当中输入我们新建相册的名字,点击确定即可完成相册的新建。

图片描述

图片描述

我们点击某个相册,即可进入该相册内部,查看该相册内的图片,在该相册目录下,点击右上角的上传图片按钮,即可在弹出框当中进行图片上传的选择,点击上传按钮后即可将我们本地的图片上传至该相册当中。

图片描述

图片描述

在该相册目录下,点击右上角的重命名按钮,可以在弹出框内输入新的相册名,点击确定后就可以完成对该相册的重命名。

图片描述

图片描述

图片描述

在该相册目录下,点击右上角的删除按钮,即可弹出如下的弹出框,在弹出框内点击确定后,即可完成该相册的删除。

图片描述

图片描述

在该相册目录下,当点击某一张图片时,会弹出如下的弹出框,可以查看大图。

图片描述

图片描述

当选择点击该弹出框当中的删除按钮,会弹出如下弹出框,当点击确定之后,即可完成该图片的删除。

图片描述

图片描述


https://dhexx.cn/news/show-408810.html

相关文章

代码阅读-读Code Reading

代码阅读的目的: 学习(语法、算法、编码风格、设计模式、……)维护(重构、修改功能、增加功能……)复用(函数、类、模块、组件……)……影响代码阅读的因素: 阅读者的知识背景代码的…

拿到这份“小抄”,Amazon面试妥了

说来刺激,KK靠“作弊”拿到了 Amazon 的 offer。这源于他在《九章算法班》拿到的一份算法小抄,里面有各种算法解题模板。刷题3遍,不如九章算法“模板”过一遍在字节面试中,KK遇到了一道他在《九章算法班 2020版》看到过的原题。主…

在树莓派上安装Ubuntu Mate

换源 打开/etc/apt/sources.list将 http://ports.ubuntu.com/ 全部替换为 http://mirrors.ustc.edu.cn/ubuntu-ports/执行sudo apt-get update和sudo apt-get upgrade测试安装&开启VNC sudo apt-get install vnc4servervncserver具体请参考 http://www.linuxeveryday.com/2…

五、Spring中的@Import注解

一、使用Import注解导入组件 Import注解的作用是给容器中导入组件,回顾下我们给容器中导入组件的方式,可以通过Spring的xm配置方式,可以通过注解,如Component等,也可以通过java配置类的方式给容器中导入注解&#xff0…

解决:eclipse双击无法打开工程目录了

其实问题很简单:换个视图就可以了,PackageExplorer这个视图可以,ProjectExplorer这个视图不可以。 这个情况真是有点蛋疼,之前我还在一伙,包资源管理器 和 项目资源管理器 简直就是一样啊。eclipse何必 设置重复的两个…

【转】Oracle索引列NULL值引发执行计划该表的测试示例

有时开发进行表结构设计,对表字段是否为空过于随意,出现诸如id1id2,如果允许字段为空,因为Oracle中空值并不等于空值,有可能得到意料之外的结果。除此之外,最关键的是,NULL会影响oracle的执行计…

activemenu.exe

href"../../../../style.css" type"text/css" rel"stylesheet" /> 进程知识库 activemenu - activemenu.exe - 进程信息 name"google_ads_frame" marginwidth"0" marginheight"0" src"http://pagead…

这家华人创立的独角兽估值超过了50亿美元

西雅图IT圈:seattleit【今日作者】拖拉机IT圈里的拖拉机无人车最近几年站到了风口浪尖涌现了出了很多超级独角兽传统车企也斥巨资研发无人驾驶技术由两名Google前工程师创立的自动送货独角兽Nuro日前宣布融资5亿美元估值50亿这轮融资由T. Rowe Price Associates领投…

CCNA 找工作指南

CCNA,作为思科认证系列里面最为初级的认证,同MCSE一样,在整个IT认证历史上产生了巨大的,深远的,不可磨灭的影响,可以说至少有两代 人受它的熏陶,影响,通过获得这个证书走上了自己的理…

使用boost::spirit实现的CSV文件解析类

boost::spirit真是不错的说。。。。#include <iostream>#include <iterator>#include <vector>#include <string>#include <boost/spirit/core.hpp>#include <boost/spirit/iterator/file_iterator.hpp>using namespace std;using namespa…