노드: multipart/form-data 데이터를 구문 분석하고 파일을 업로드합니다(단일 파일 + 여러 파일).

목차

머리말

다운로드

사용

단일 파일 업로드:

여러 파일 업로드

결과


머리말

파일을 업로드할 때 multipart/form-data 요청 본문 형식을 사용하고 express.urlencoded() 미들웨어는 이 형식의 데이터를 구문 분석할 수 없으므로 multipart/form-data Package, multer를 구문 분석할 수 있는 형식을 찾아야 합니다. 여기에서 권장합니다. npm 주소 : multer - npm

다운로드

npm install --save multer

사용

 단일 파일 업로드:

  코드를 더 쉽게 해석하기 위해 여기에는 모듈식 접근 방식이 없습니다.

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

Postman에 테스트 요청

 인쇄 결과:

 이러한 방식으로 업로드된 파일의 정보와 전달한 추가 매개변수를 얻습니다.

여러 파일 업로드

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

우편 배달부 요청 테스트

 콘솔 인쇄:

결과

업로드하는 파일이 포함된 프로젝트의 uploads 디렉토리를 볼 수 있습니다. 자신의 프로젝트에 따르면 업로드는 어디에 있습니까?

추천

출처blog.csdn.net/qq_42543244/article/details/126627944