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...
初始化客户端
然后我们创建客户端 我们使用 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
测试
目前为止,全部的功能组件都已完成。
最后附上git地址 git
到此这篇关于node.js使用express-fileupload中间件实现文件上传的文章就介绍到这了,更多相关node.js 文件上传内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
上一篇: 生成器,迭代器,装饰器
推荐阅读
-
PHP使用HTML5 FileApi实现Ajax上传文件功能示例
-
使用Html5实现异步上传文件,支持跨域,带有上传进度条
-
使用WebUploader实现上传文件功能(一)
-
使用WebUploader实现分片断点上传文件功能(二)
-
vue中使用input[type="file"]实现文件上传功能
-
SpringMVC使用MultipartFile实现文件上传
-
python使用paramiko模块实现ssh远程登陆上传文件并执行
-
使用AjaxFileUpload.js实现异步文件上传示例
-
js实现文件上传功能 后台使用MultipartFile
-
Java Web使用Html5 FormData实现多文件上传功能