検索
ホームページウェブフロントエンドフロントエンドQ&ANodejs画像アップロードのルートパスの書き方

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

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Reactのエコシステムのサイズ:複雑な風景をナビゲートしますReactのエコシステムのサイズ:複雑な風景をナビゲートしますApr 28, 2025 am 12:21 AM

tonavigatereAct'somplexEcosystemively、理解を理解し、認識していることを認識していることを認識しているandweakness、およびIntegreatemtoemtoemtoemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemotereconceptate、その後、勾配内で測定する

どのようにReactがキーを使用してリスト項目を効率的に識別しますどのようにReactがキーを使用してリスト項目を効率的に識別しますApr 28, 2025 am 12:20 AM

RactuseSeSeSeSeSeSeSeSpiffictifideidifiedItemsbyprovidingastableidentitytoeeedelement.1)keysallowReactTotTotTotTotTotTotTotTotTotTotTotTotTotTotTotRACKESOUTRE-RENDERINGTHEENTERELIST.2)chookiniqueandstablekeys、avolididingArrayIndi​​ces.3)reforceAsificlySificlySiflovedobrovesiondanc

Reactにおける重要な問題のデバッグ:問題の特定と解決Reactにおける重要な問題のデバッグ:問題の特定と解決Apr 28, 2025 am 12:17 AM

KeysinReactarecrucialforoptimizingTherenderingProcessandDynamicListseffective.tospotandfixkey-relatedissues:1)adduniquekeystolistiTemstoavoidsissusisus、2)useuniqueidideididifiersfromdateadceSofofordiceys、3)

Reactの一方向データバインディング:予測可能なデータフローの確保Reactの一方向データバインディング:予測可能なデータフローの確保Apr 28, 2025 am 12:05 AM

Reactの一元配置データバインディングにより、データが親コンポーネントから子コンポーネントに流れることが保証されます。 1)データは単一に流れ、親コンポーネントの状態の変化は子コンポーネントに渡すことができますが、子コンポーネントは親コンポーネントの状態に直接影響することはできません。 2)この方法により、データフローの予測可能性が向上し、デバッグとテストが簡素化されます。 3)制御されたコンポーネントとコンテキストを使用することにより、一方向のデータストリームを維持しながら、ユーザーの相互作用とコンポーネント間通信を処理できます。

Reactコンポーネントでキーを選択して管理するためのベストプラクティスReactコンポーネントでキーを選択して管理するためのベストプラクティスApr 28, 2025 am 12:01 AM

keysinReactarecrucialforeffiencedomupdatessandRecOnciliation.1)選択可能でユニークな、そして類似のフルキーなど、Itemids.2)fornestedLists、useuniquekeysateachlevel.3)

ReactアプリケーションのuseState()を使用してパフォーマンスを最適化しますReactアプリケーションのuseState()を使用してパフォーマンスを最適化しますApr 27, 2025 am 12:22 AM

useState()uscrucialforoptimizingRectperformanceduetuitsoitsimpactonre-rendersandupdates.tooptimize:1)useusecallbacktomoize funtionsandpreventunnederireRenders.2)

コンテキストとuseState()を使用してコンポーネント間で状態を共有するコンテキストとuseState()を使用してコンポーネント間で状態を共有するApr 27, 2025 am 12:19 AM

コンテキストとユーザーを使用して、大規模なReactアプリケーションで州の管理を簡素化できるため、状態を共有します。 1)プロップドリルを減らす、2)より明確なコード、3)グローバルな状態を管理しやすい。ただし、パフォーマンスのオーバーヘッドと複雑さのデバッグに注意してください。コンテキストと最適化技術の合理的な使用は、アプリケーションの効率と保守性を向上させることができます。

Reactの仮想DOMアップデートに対する誤ったキーの影響Reactの仮想DOMアップデートに対する誤ったキーの影響Apr 27, 2025 am 12:19 AM

誤ったキーを使用すると、Reactアプリケーションでパフォーマンスの問題や予期しない動作を引き起こす可能性があります。 1)キーはリスト項目の一意の識別子であり、Virtual Domを効率的にReactの更新を支援します。 2)同じまたは非ユニークなキーを使用すると、リスト項目が再注文され、コンポーネント状態が失われます。 3)キーとして安定した一意の識別子を使用すると、パフォーマンスを最適化し、完全な再レンダリングを回避できます。 4)ESLINTなどのツールを使用して、キーの正しさを確認します。キーを適切に使用すると、効率的で信頼性の高い反応アプリケーションが保証されます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター