nodo: express analiza datos de datos de formulario/varias partes; carga archivos (archivo único + archivos múltiples)

Tabla de contenido

prefacio

descargar

usar

Carga de un solo archivo:

Carga de varios archivos

resultado


prefacio

Al cargar archivos, usaremos el formato de cuerpo de solicitud de datos de formulario/multiparte, y el middleware express.urlencoded() no puede analizar datos en este formato, por lo que debemos encontrar un formato que pueda analizar el paquete de datos de formulario/multiparte, multer se recomienda aquí, dirección npm : multer - npm

descargar

npm install --save multer

usar

 Carga de un solo archivo:

  Para facilitar la interpretación del código, aquí no hay un enfoque modular.

const express = require('express');
const router = express.Router();
const multer = require('multer')
const path = require('path')
const upload = multer({dest: path.join(__dirname, '../../uploads')}) // 要存放文件的路径

router.post('/api/upload/file', upload.single('image'), (req, res) => {
    console.log(req.body)
    console.log(req.file)
    res.send('success')
})

module.exports = router

Solicitar prueba con cartero

 Imprimir resultado:

 De esta forma, obtenemos la información del archivo subido y los parámetros adicionales que pasamos

Carga de varios archivos

//注意看取值变量
router.post('/api/upload/files', upload.array('image'), (req, res) => {
    console.log(req.body)
    console.log(req.files)
    res.send('success')
})

prueba de solicitud de cartero

 Impresiones de la consola:

resultado

Podemos ver el directorio de subidas en el proyecto, que contiene los archivos que subimos. De acuerdo con su propio proyecto, ¿dónde están las subidas?

Supongo que te gusta

Origin blog.csdn.net/qq_42543244/article/details/126627944
Recomendado
Clasificación