quint555
@quint555

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

画像や書類の保存先を知りたい

解決したいこと

現在ローカル環境ではWebアプリケーション上で画像の保存や書類の保存をする際に保存先を下記にしています。ローカルからサーバー上にアップする際に下記⓵⓶はどちらにディレクトリを作成し保存すればよいのでしょうか?
また、画像はどんどん追加して増えていく予定なので外部のフォルダに保存したいと考えております。

①画像⇒src/main/resources/static/img/
②書類⇒デスクトップのフォルダ

発生している問題・エラー

ローカル環境で画像の保存先をsrc/main/resources/static/img/から"C:\Users\Education\Desktop\photo"にした場合のエラー。

DBにファイル名の保存はできており、指定したファイルをデスクトップのフォルダに移動はできているが、
指定した画像がHTMLで表示されない。


または、問題・エラーが起きている画像をここにドラッグアンドドロップ

該当するソースコード


例)


### 自分で試したこと

調べたところ、サーバー上の /var/www/ に新しくディレクトリを作って保存?
0

2Answer

HTTPサーバがレスポンスしてもOKなファイル(ログインなど不要)の場合はHTTPサーバ管轄下のディレクトリに設置すればURLさえ合っていればアクセスできるようになります。

それ以外のファイル(ログインの制御などが必要)に関しては、URLとファイルを関連付けるプログラムを作る必要があります。

取っ掛かりとしてはこちらのような情報です。
https://qiita.com/crml1206/items/7166d3ffbd5cf2152eec

1Like

Comments

  1. @quint555

    Questioner

    ありがとうございます。

MySQL のタグが付いてますが、どう関係するのですか? MySQL も保存場所の候補として考えるのですか?

0Like

Comments

  1. @quint555

    Questioner

    申し訳ございません。
    私の開発環境として載せてしまいました。
    MySQLに関しては、DB内に画像のオリジナルネームだけ保存しております。

  2. MySQLに関しては、DB内に画像のオリジナルネームだけ保存しております。

    そのことを質問欄を編集して追記願います。

    ローカルからサーバー上にアップする際に下記⓵⓶はどちらにディレクトリを作成し保存すればよいのでしょうか?
    ①画像⇒src/main/resources/static/img/
    ②書類⇒デスクトップのフォルダ

    普通はどちらでもなくて、Web サーバーのディレクトリ/仮想ディレクトリで、インターネット上のクライアント(ブラウザ)から要求して表示できる場所に保存します。

  3. @quint555

    Questioner

    ありがとうございます。
    そういうことなんですね。

    ちなみにインターネット上のクライアント(ブラウザ)から要求して表示できる場所というのは具体的にどこを指すのでしょうか。自分で決めて作成するものなのでしょうか。
    それとも、プロジェクト内のアプリケーションプロパティなどに記載するものなのでしょうか。イメージが湧いてなくて申し訳ございません。

    参考例としてsrc/main/resources/static/img/のような形で教えていただくことはできるのでしょうか?

  4. ちなみにインターネット上のクライアント(ブラウザ)から要求して表示できる場所というのは具体的にどこを指すのでしょうか。

    Web サーバーのことを勉強して知識をつけてもらわないと説明しても話が通じないような気がしますが、一応説明しておきます。

    デプロイ先のサーバーに何を使うのか質問に書いてないので分かりませんが、Windows Server の IIS を利用するとすると、上に書いた「Web サーバーのディレクトリ/仮想ディレクトリで、インターネット上のクライアント(ブラウザ)から要求して表示できる場所に保存」というのは、

    例えば、サーバーの物理フォルダが以下のようになっていて、画像は Images フォルダに保存してあるとします。

    explorer.jpg

    IIS で WebSiteProject フォルダを「サイト」に設定し、インターネット上のクライアント(ブラウザ)からアクセスできるようにします。

    IIS.jpg

    そうすれば、Images フォルダは「クライアント(ブラウザ)から要求して表示できる場所」になり、ブラウザのアドレスバーに url を入力して要求をかければ、以下のように表示されます。

    chrome.jpg

Your answer might help someone💌