欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

node.js使用express-fileupload中间件实现文件上传

程序员文章站 2022-06-17 09:00:10
目录fileuploadmessage.jsprogress.js本文使用express作为服务端,使用express-fileupload库提供的中间件函数来接受从客户端传来的图片,并将图片作为文件...

本文使用express作为服务端,使用express-fileupload库提供的中间件函数来接受从客户端传来的图片,并将图片作为文件存储在服务端。客户端使用create-react-app框架,bootstrap ui,axios发送http请求和提供进度条当前进度的值,上传成功后,根据图片在服务端上的位置,并显示图片。

初始化项目

安装一些必要依赖(dependencies)

更改 react-file-upload/package.json 中的 scripts 脚本

  • main 改为 server.js
  • start 使用 node 启动 express
  • server 使用 nodemon 启动 express ,nodemon会监视server.js文件是否有变动 (ctrl+s) 若有变动 重新启动服务器 而node启动则不会,需要手动重启服务(ctrl+c 且改动文件后重新运行 node server.js)
  • client 启动客户端 随后我们会创建 client 文件夹 编写 react 组件
  • dev 使用 concurrently 同时启动服务端与客户端

编写服务器

下面来编写 server.js 文件

现在运行一遍 server.js 保证无错误 会在控制台看到 server started...

node.js使用express-fileupload中间件实现文件上传

初始化客户端

然后我们创建客户端 我们使用 create-react-app 脚手架初始化项目

初始化完成后 我们可以先选择性的删除一些不必要的文件

  • serviceworker.js
  • logo.svg
  • index.css    // 之后我们会用link标签从cdn引入bootstrap的
  • app.test.js  // 只是个小demo

我们删除 src / index.js 文件中引入的 index.css,在 public 文件夹中的 index.html 模板文件中,直接引入bootstrap 的 css 和 js

编写组件

我们总共需要编写3各组件,分别为

  • fileupload.js:用form标签的onsubmit和axios发送上传请求
  • message.js:显示信息 上传成功 服务器错误 或 没有选择文件
  • progress.js:用axios的onuploadprogress和bootstrap显示上传进度条

fileupload

message.js

progress.js

测试

目前为止,全部的功能组件都已完成。

node.js使用express-fileupload中间件实现文件上传

最后附上git地址 git

到此这篇关于node.js使用express-fileupload中间件实现文件上传的文章就介绍到这了,更多相关node.js 文件上传内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!