Datei-Upload im Knoten Hier sind zwei Frameworks im Knoten (Express und Koa)
Express-unterstützter Datei-Upload
1. Installieren Sie zuerst Express
npm install express
2. Schreiben Sie eine einfache Schnittstelle und hören Sie auf die entsprechende Portnummer
const express = require('express')
const app = express()
app.listen(6902, () => {
console.log('form-data中间件的解析')
})
3. Installieren Sie Multer, um die Dateien in Form-Data zu analysieren.
3.1 Installieren Sie Multer
npm install multer
3.2. Die Verwendung von 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('文件上传成功')
})
Vollständiger Code
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中间件的解析')
})
Datei-Upload in Koa
- Koa installieren
npm install koa
2. 安装koa-router
npm install koa-router
使用方法
```javascript
const Router = require('koa-router')
const uploadRouter = new Router()
uploadRouter.post('/upload', upload.single('file'), (ctx, next) => {
console.log('文件上传成功', ctx.req.file)
ctx.response.body = '文件上传666'
})
module.exports = uploadRouter
3. 安装koa-multer
```javascript
npm install koa-multer
Code verwenden
const multer = require('koa-multer')
const upload = multer(
{
dest: './uploads/'
}
)
uploadRouter.post('/upload', upload.single('file'), (ctx, next) => {
console.log('文件上传成功', ctx.req.file)
ctx.response.body = '文件上传666'
})
Zunächst verwenden wir hier die Routing-Methode, um die Datei der Upload-Schnittstelle
in den Router-Ordner upload.js zu schreiben
- upload.js
const Router = require('koa-router')
const multer = require('koa-multer')
const uploadRouter = new Router()
const upload = multer(
{
dest: './uploads/'
}
)
uploadRouter.post('/upload', upload.single('file'), (ctx, next) => {
console.log('文件上传成功', ctx.req.file)
ctx.response.body = '文件上传666'
})
module.exports = uploadRouter
2.index.js
const koa = require('koa')
// 引入路由
const upRouter = require('./router/upload')
const app = new koa()
// 使用路由
app.use(upRouter.routes()).use(upRouter.allowedMethods())
app.listen(8098, () => {
console.log('server 文件上传')
})