モバイル インターネットと Web アプリケーションの普及に伴い、情報伝達の重要な媒体として画像がさまざまなアプリケーション シナリオで広く使用されており、そのアップロードと表示が共通の要件となっています。 Web 開発では、Node.js は軽量のサーバーサイド実行環境として、高速かつ効率的な開発方法を提供します。この記事では、Node.js での画像のアップロードとルート パスの設定について説明します。
1. Node.js 画像アップロード
Node.js で画像アップロードを実装するには、サードパーティ製モジュール Express-fileupload を使用すると非常に便利です。モジュールをインストールして参照するだけで、コード内で適切に構成できます。
Express-fileupload モジュールをインストールします:
npm install --save express-fileupload
次に、コード内でモジュールを参照します:
const fileUpload = require('express-fileupload');
モジュールを使用して、アップロード パス、制限サイズなどを構成します。
app.use(fileUpload({ limits: { fileSize: 50 * 1024 * 1024 }, //限制文件大小 useTempFiles: true, tempFileDir: '/tmp/', uploadTimeout: 120000, //上传时间 abortOnLimit:true, createParentPath:true //创建父级路径 }));
上記のコードでは、limits
はアップロードされるファイルの最大サイズを 50MB に制限します。useTempFiles
は、アップロードされたファイルを保存するために一時フォルダーを使用することを意味します、tempFileDir
は一時ファイルのフォルダー パスの指定を意味し、uploadTimeout
はアップロード時間を表し、abortOnLimit
はファイル サイズ制限を超えたときにアップロードを終了するかどうかを表し、createParentPath
は親パスを作成するかどうか。
ルート内のアップロード リクエストを処理し、moveTo
メソッドを使用してアップロードされたファイルを指定されたディレクトリに移動し、ファイルのアップロード操作を完了します。
app.post('/upload', (req, res) => { if (!req.files) { return res.status(400).send('No files were uploaded.'); //上传失败返回错误提示 } const file = req.files.file; //获取文件对象 file.mv('/path/to/upload/folder/' + file.name, (err) => { //将文件移动到指定的目录并重新命名 if (err) { return res.status(500).send(err); } res.send('File uploaded!'); }); });
上記のコードでは、file
オブジェクトはアップロードされたファイルを表します。mv
メソッドを使用して、ファイルを指定されたディレクトリに移動し、ファイルの名前を変更します。
2. Node.js のルート パス設定
Node.js では、グローバル変数 __dirname
を使用して、現在実行中のディレクトリのフル パスを取得できます。スクリプトが見つかります。これは一般的に使用されます。変数はルート パスとして機能し、ファイルの処理時にパス スプライシングを使用して相対パスを書き込むことができます。
たとえば、Express フレームワークで静的ファイル ディレクトリを構成する場合、通常、パス エラーを避けるためにルート パスが静的ファイル ディレクトリのプレフィックスとして使用されます。
app.use(express.static(__dirname + '/public'));
上記のコードでは、パブリック ファイルのディレクトリは public
です。正しい読み取り値であることを確認するために、__dirname
を使用してディレクトリの相対パスを結合します。アプリケーションの起動時に実行されます。
3. Node.js イメージアップロードのルートパスの書き方
Node.js イメージアップロードを実装する場合、通常、アップロードしたイメージの保存先パスを指定する必要があります。パス エラーを回避するには、ルート パスと相対パスをパス スプライシングに使用します。
たとえば、ルート パスの下の uploads
フォルダーへの画像アップロード パスを構成するには、次のコードを記述できます。
const UPLOAD_PATH = __dirname + '/uploads'; file.mv(UPLOAD_PATH + '/' + file.name, (err) => { if (err) { return res.status(500).send(err); } res.send('File uploaded!'); });
上記のコードでは、 UPLOAD_PATH
アップロードされた画像のストレージ パスを示します。これは、ルート パスと相対パスを使用して結合され、正しいパス スプライシングが実現されます。
概要
画像のアップロードとルート パスの構成はどちらも Node.js の開発において非常に重要です。正しい構成と実装により、開発中のパス エラーとアップロードの失敗を減らすことができます。この記事では、Express-fileupload モジュールを使用して画像アップロードを実装する手順を紹介し、Node.js でルート パスを正しく構成する方法を説明します。読者が実際の開発でうまく活用できることを願っています。
以上がNodejs画像アップロードのルートパスの書き方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。