ホームページ >ウェブフロントエンド >jsチュートリアル >nodejs+expressでファイルアップロードを実装する方法
この記事では、nodejs+expressを使用した簡単なファイルアップロード機能を主に紹介します
1. Expressプロジェクトを作成します
express -e nodejs-uploadfile
3. Routes/index.js で multer を実行する必要があるため、fs モジュールを参照し、ファイルのアップロード ディレクトリを指定する必要もあります
npm i multer or yarn multer
単一ファイルのアップロード:index.html 内のファイルは次のとおりです (フォーム ファイルのタイプは enctype="multipart/form-data" である必要があります)、const multer = require('multer');
const fs = require('fs');
const UPLOAD_PATH = './uploads'
ファイルのアップロード操作を処理するために、routes/index.js にアップロード ルートを追加します
<form action="/upload" method="post" enctype="multipart/form-data"> <input name="fileUpload" type="file" /> <img src="" alt=""> <button type="submit">上传</button> </form>
アップロードされたファイルが画像の場合、 FileReader オブジェクトを使用して画像をプレビューすることもできます
router.post('/upload', upload.single('fileUpload'), function (req, res, next) { const { file } = req; fs.readFile(file.path, function(err, data) { fs.writeFile(`${UPLOAD_PATH}/${file.originalname}`, data, function (err) { if (err) res.json({ err }) res.json({ msg: '上传成功' }); }); }) })
複数ファイルのアップロード: 複数ファイルのアップロードの原理は、単一ファイルのアップロードの原理と同じです。 コードは次のとおりです:
(function($){ $('input').on('change', function(event) { var files = event.target.files, reader = new FileReader(); if(files && files[0]){ reader.onload = function (ev) { $('img').attr('src', ev.target.result); } reader.readAsDataURL(files[0]); } }) }(jQuery))
上記は私がコンパイルしたものです。将来すべての人にとって役立つことを願っています。
関連記事:
JavaScriptで配列に変数名が存在するかどうかを確認する方法方法Angular Arrow アノテーション関数を使用して三角形を実装します
以上がnodejs+expressでファイルアップロードを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。