この記事では主にnodejs+expressを使った簡単なファイルアップロード機能を紹介しますので、必要な方は参考にしていただければ幸いです。
1.Expressプロジェクトを作成します
express -e nodejs-uploadfile
2.routes/index.jsのmulterも参照します。 fsモジュールを作成し、ファイルアップロードディレクトリを指定します
npm i multer or yarn multer
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))
関連するコードは github.com/bWhirring/n…
にあります。
node.js multerを使用したAjaxの詳細な説明ファイルアップロード機能を実現
thinkjsのファイルアップロード機能を説明する例
jQueryはアップロード前の画像ファイルのプレビュー機能を実現
以上がnodejs+expressを使った簡易ファイルアップロード機能の実装について詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。