ホームページ >ウェブフロントエンド >jsチュートリアル >nodejs+expressでファイルアップロードを実装する方法

nodejs+expressでファイルアップロードを実装する方法

亚连
亚连オリジナル
2018-06-15 11:22:171502ブラウズ

この記事では、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(&#39;/upload&#39;, upload.single(&#39;fileUpload&#39;), 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: &#39;上传成功&#39;
  });
 });
 })
})

複数ファイルのアップロード: 複数ファイルのアップロードの原理は、単一ファイルのアップロードの原理と同じです。 コードは次のとおりです:

(function($){
 $(&#39;input&#39;).on(&#39;change&#39;, function(event) {
 var files = event.target.files,
  reader = new FileReader();
 if(files && files[0]){
  reader.onload = function (ev) {
   $(&#39;img&#39;).attr(&#39;src&#39;, ev.target.result);
  }
  reader.readAsDataURL(files[0]);
 }
 })
}(jQuery))

上記は私がコンパイルしたものです。将来すべての人にとって役立つことを願っています。

関連記事:

JavaScriptで配列に変数名が存在するかどうかを確認する方法

JSで遅延隠蔽機能を実装する方法

Angularを使用してタイマー関数を実装する方法

方法Angular Arrow アノテーション関数を使用して三角形を実装します

以上がnodejs+expressでファイルアップロードを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。