node 中的文件上传这边介绍的是node中的两个框架(express和koa)
1.首先安装express
npm install express
2.写简单的接口并监听相应的端口号
const express = require('express')
const app = express()
app.listen(6902, () => {
console.log('form-data中间件的解析')
})
3、安装multer解析form-data中的文件
3.1 安装multer
npm install multer
3.2。multer的使用
const multer = require('multer')
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, './uploads')
},
filename: function (req, file, cb) {
const uniqueSuffix = Date.now() + '-' + Math.round(Math.random() * 1E9)
cb(null, file.fieldname + '-' + uniqueSuffix)
}
})
const upload = multer({ storage: storage })
app.post('/upload', upload.array('avatar'), (req, res, next) => {
console.log(req.files)
res.end('文件上传成功')
})
完整代码
const express = require('express')
const multer = require('multer')
const app = express()
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, './uploads')
},
filename: function (req, file, cb) {
const uniqueSuffix = Date.now() + '-' + Math.round(Math.random() * 1E9)
cb(null, file.fieldname + '-' + uniqueSuffix)
}
})
const upload = multer({ storage: storage })
// app.use(express.json())
// app.use(express.urlencoded({extended: true}))
// app.use(upload.arra())
// app.post('/login', (req, res, next) => {
// console.log(req.body)
// res.end('login server')
// })
app.post('/upload', upload.array('avatar'), (req, res, next) => {
console.log(req.files)
res.end('文件上传成功')
})
app.listen(6902, () => {
console.log('form-data中间件的解析')
})