使用node.js怎么实现多文件上传?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
创新互联是专业的南票网站建设公司,南票接单;提供成都网站建设、做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行南票网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
// 前端 upload.html上传文件demo
后端所用的一些东西我放在这
express中间件-multer
express 4.x 文档
// 后端(node.js) upload.js var express = require('express'); var path = require('path'); var fs = require('fs'); var app = express(); var bodyParser = require('body-parser'); // 过滤请求头部相应格式的body var multer = require('multer'); var chalk = require('chalk'); // 只是一个 cli 界面字体颜色包而已 var log = console.log.bind(console); app.use(express.static('static')); // 接受 application/json 格式的过滤器 var jsonParser = bodyParser.json() // 接受 application/x-www-form-urlencoded 格式的过滤器 var urlencodedParser = bodyParser.urlencoded({ extended: false }) // 接受 text/html 格式的过滤器 var textParser = bodyParser.text() // 自定义 multer 的 diskStorage 的存储目录与文件名 var storage = multer.diskStorage({ destination: function (req, file, cb) { cb(null, 'view') }, filename: function (req, file, cb) { cb(null, file.fieldname) } }) var upload = multer({ storage: storage }) // 页面渲染 app.get('/', function (req, res) { res.sendFile(path.join(__dirname, 'view/upload.html')); }) app.post('/test', textParser, jsonParser, function (req, res) { log(req.body); var httpInfo = http.address(); res.send({ host: httpInfo.address, port: httpInfo.port }) }) // 对应前端的上传接口 http://127.0.0.1:3000/upload, upload.any() 过滤时不对文件列表格式做任何特殊处理 app.post('/upload', upload.any(), function (req, res) { log(req.files) res.send({message: '上传成功'}) }) // 监控 web 服务 var http = app.listen(3000, '127.0.0.1', function () { var httpInfo = http.address(); log(`创建服务${chalk.green(httpInfo.address)}:${chalk.yellow(httpInfo.port)}成功`) })
关于使用node.js怎么实现多文件上传问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。