node: multipart/form-data データの高速解析、ファイルのアップロード (単一ファイル + 複数ファイル)

目次

序文

ダウンロード

使用

単一ファイルのアップロード:

複数ファイルのアップロード

結果


序文

ファイルをアップロードするときは、multipart/form-data リクエスト ボディ形式を使用しますが、express.urlencoded() ミドルウェアはこの形式のデータを解析できないため、multipart/form-data パッケージ、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

郵便配達員によるテストのリクエスト

 印刷結果:

 このようにして、アップロードされたファイルの情報と渡された追加のパラメーターを取得します

複数ファイルのアップロード

//注意看取值变量
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