私は画像ギャラリーアプリケーションを持っています:
- フロントエンド (Vue 2.6) を使用すると、ユーザーはいくつかの基本情報とともに画像をアップロードできます
- バックエンド (NodeJs) はサムネイル画像を作成し、元の画像と一緒にアップロード フォルダーに保存します。
アップロードフォルダーをフロントエンドのパブリックフォルダーの下に配置しました。これは、アプリケーションのファイル構造です。
/app
├── backend
│ └── ...
├── frontend
│ ├── public
│ │ └── images
│ │ └── upload
│ ├── src
│ ├── dist
...
いつものように、ビルド時に、ファイルは nginx が指す dist フォルダーにコピー、縮小などされます。ビルド後はすべて問題ありません。画像はパブリック フォルダーからコピーされ、フロントエンド アプリでアクセスできます。しかし、アップロードされた新しい画像は、Web サーバーのパスにないため利用できません。また、dist の下にアップロード フォルダーを配置すると、次のビルドで削除されます。シンボリックリンクを含む回避策も試しましたが、成功しませんでした。
アップロード フォルダーを Vue ビルド プロセスの外部に保持し、それらに直接アクセスする方法はありますか? または、私の問題に対する他の回避策はありますか?