Nodejs画像アップロードのルートパスの書き方

PHPz
リリース: 2023-04-05 10:41:17
オリジナル
693 人が閲覧しました

モバイル インターネットと 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート