Beispiel für die Implementierung des Datei-Uploads durch Node.js

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

  1. 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

  1. 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 文件上传')
})

おすすめ

転載: blog.csdn.net/weixin_45664217/article/details/122725401