HTTPサーバがレスポンスしてもOKなファイル(ログインなど不要)の場合はHTTPサーバ管轄下のディレクトリに設置すればURLさえ合っていればアクセスできるようになります。
それ以外のファイル(ログインの制御などが必要)に関しては、URLとファイルを関連付けるプログラムを作る必要があります。
取っ掛かりとしてはこちらのような情報です。
https://qiita.com/crml1206/items/7166d3ffbd5cf2152eec
現在ローカル環境ではWebアプリケーション上で画像の保存や書類の保存をする際に保存先を下記にしています。ローカルからサーバー上にアップする際に下記⓵⓶はどちらにディレクトリを作成し保存すればよいのでしょうか?
また、画像はどんどん追加して増えていく予定なので外部のフォルダに保存したいと考えております。
①画像⇒src/main/resources/static/img/
②書類⇒デスクトップのフォルダ
ローカル環境で画像の保存先をsrc/main/resources/static/img/から"C:\Users\Education\Desktop\photo"にした場合のエラー。
DBにファイル名の保存はできており、指定したファイルをデスクトップのフォルダに移動はできているが、
指定した画像がHTMLで表示されない。
または、問題・エラーが起きている画像をここにドラッグアンドドロップ
例)
### 自分で試したこと
調べたところ、サーバー上の /var/www/ に新しくディレクトリを作って保存?
HTTPサーバがレスポンスしてもOKなファイル(ログインなど不要)の場合はHTTPサーバ管轄下のディレクトリに設置すればURLさえ合っていればアクセスできるようになります。
それ以外のファイル(ログインの制御などが必要)に関しては、URLとファイルを関連付けるプログラムを作る必要があります。
取っ掛かりとしてはこちらのような情報です。
https://qiita.com/crml1206/items/7166d3ffbd5cf2152eec
@quint555
Questionerありがとうございます。
MySQL のタグが付いてますが、どう関係するのですか? MySQL も保存場所の候補として考えるのですか?
@quint555
Questioner申し訳ございません。
私の開発環境として載せてしまいました。
MySQLに関しては、DB内に画像のオリジナルネームだけ保存しております。
MySQLに関しては、DB内に画像のオリジナルネームだけ保存しております。
そのことを質問欄を編集して追記願います。
ローカルからサーバー上にアップする際に下記⓵⓶はどちらにディレクトリを作成し保存すればよいのでしょうか?
①画像⇒src/main/resources/static/img/
②書類⇒デスクトップのフォルダ
普通はどちらでもなくて、Web サーバーのディレクトリ/仮想ディレクトリで、インターネット上のクライアント(ブラウザ)から要求して表示できる場所に保存します。
@quint555
Questionerありがとうございます。
そういうことなんですね。
ちなみにインターネット上のクライアント(ブラウザ)から要求して表示できる場所というのは具体的にどこを指すのでしょうか。自分で決めて作成するものなのでしょうか。
それとも、プロジェクト内のアプリケーションプロパティなどに記載するものなのでしょうか。イメージが湧いてなくて申し訳ございません。
参考例としてsrc/main/resources/static/img/のような形で教えていただくことはできるのでしょうか?
ちなみにインターネット上のクライアント(ブラウザ)から要求して表示できる場所というのは具体的にどこを指すのでしょうか。
Web サーバーのことを勉強して知識をつけてもらわないと説明しても話が通じないような気がしますが、一応説明しておきます。
デプロイ先のサーバーに何を使うのか質問に書いてないので分かりませんが、Windows Server の IIS を利用するとすると、上に書いた「Web サーバーのディレクトリ/仮想ディレクトリで、インターネット上のクライアント(ブラウザ)から要求して表示できる場所に保存」というのは、
例えば、サーバーの物理フォルダが以下のようになっていて、画像は Images フォルダに保存してあるとします。
IIS で WebSiteProject フォルダを「サイト」に設定し、インターネット上のクライアント(ブラウザ)からアクセスできるようにします。
そうすれば、Images フォルダは「クライアント(ブラウザ)から要求して表示できる場所」になり、ブラウザのアドレスバーに url を入力して要求をかければ、以下のように表示されます。