質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

Apache Maven

Apache Mavenは、ソフトウェアプロジェクトの管理ツールです。

Q&A

解決済

1回答

2501閲覧

ファイルの最終的なアップロード先の設定について

退会済みユーザー

退会済みユーザー

総合スコア0

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

Apache Maven

Apache Mavenは、ソフトウェアプロジェクトの管理ツールです。

0グッド

0クリップ

投稿2019/08/30 00:44

編集2019/08/30 01:56

ファイルの最終的なアップロード先の設定について

imageファイルの最終的なアップロード先の設定について、
下記のような方法を紹介する記事を見つけたのですが、

  • それぞれのメリット・デメリット
  • 一般的によく使用される方法(下記以外でも可)

など、お教え願えますでしょうか。

現在は開発環境でトライしているのですが、
この段階でとりあえず動くというよりは、実際に本番環境に持って行った時に推奨される設定方法に近い方法を試したいのですが、イメージがつきません。

一応一通りの概念等は調べてみましたが、
初学者のため、完璧に理解しているわけでは無いので
補完的な情報は、ヒントを頂ければ自身で調べてみます。

リンク等あれば情報だけでもいただければ幸いです。
宜しくお願いいたします。

参考

Recommended way to save uploaded files in a servlet application
https://stackoverflow.com/questions/18664579/recommended-way-to-save-uploaded-files-in-a-servlet-application

  • Hardcoded:
File uploads = new File("/path/to/uploads");
  • Environment variable via SET UPLOAD_LOCATION=/path/to/uploads:
File uploads = new File(System.getenv("UPLOAD_LOCATION"));
  • VM argument during server startup via -Dupload.location="/path/to/uploads":
File uploads = new File(System.getProperty("upload.location"));
  • *.properties file entry as upload.location=/path/to/uploads:
File uploads = new File(properties.getProperty("upload.location"));
  • web.xml <context-param> with name upload.location and value /path/to/uploads:
File uploads = new File(getServletContext().getInitParameter("upload.location"));

追記

画像ファイルの利用方法

上記はユーザーから form で受け取った画像を保存する場所になります。
変更を反映して、同じく受け取ったコメントと共にservletを介し、 jspで表示させたいです。

補足情報

Eclipse
Maven webapp
Tomcat 9

を使用しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/08/30 01:07

画像をどのように利用するのか、つまり要件次第です。 アップロードした画像の利用方法を具体的に記載してください。
退会済みユーザー

退会済みユーザー

2019/08/30 01:12

記載が甘く、すみませんでした。 ユーザーから form で受け取った画像を保存する場所になります。 変更を反映して、同じく受け取ったコメントと共にservletを介し、 jspで表示させたいです。
guest

回答1

0

ベストアンサー

ユーザーから form で受け取った画像を保存する場所になります。

変更を反映して、同じく受け取ったコメントと共にservletを介し、 jspで表示させたいです。

「Webから参照(WebRoot配下)できるならどこでもいい」というのが回答になります。
ただ「アップロードしたユーザーしか見れない」「ログイン認証されたユーザーしか見れない」という要件なのでしたらWebRoot配下に置くべきではないと思います。
(Javaから読み込んで表示させる必要がある)

投稿2019/08/30 02:29

m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/08/30 03:28

お答えいただき有難うございます。 表記が分かりづらく申し訳ありません。保存先については、仰る通りなのですが、 質問の意図といたしましては、場所ではなく「方法」になります。 上記の例は全て結果的に同じで、' *.property'と’web.xml’ に関しては設定ファイルから取り込んでいるのが理解できるのですが、特に’env’とか’VM’に設定した場合の挙動の違い、と言うのでしょうか... うまく表現できず恐縮なのですが、その辺りを理解したいのです...
m.ts10806

2019/08/30 03:36

アップロード自体はできているのでしょうか。 単に「表示」となるとWebRoot配下に置いている場合、jspにコンテキストパスからのパスを書く感じになると思います。(雑に書くと)
退会済みユーザー

退会済みユーザー

2019/08/30 04:07

度々すみません。formで受け取った画像は、tmpファイルにアップロード -> thumbnail表示までは完了していて、その後、このtmpファイルから保存先にuploadし直す、と言う構造です。
m.ts10806

2019/08/30 04:11

要件が変わってきているような気がしないでもないですが、その場面だとアップロードではなく移動( File.renameTo() )ではないでしょうか。
退会済みユーザー

退会済みユーザー

2019/09/02 01:03

コメント頂いたにもかかわらず、回答が遅くなり申し訳ありません。 質問内容については、クリアになっていませんが、結局のところサードパーティにアップロードするのが筋というところで納得しました。 m.ts10806様から頂いた’File.renameTo()’は別のところで、参考にさせて頂き API.docを見直すきっかけとなりました。 有難うございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問