質問:
Java Web アプリで画像を保存および取得するにはどうすればよいですか? Java Web アプリケーション内のサーバーを、データベース?
答え:
画像ストレージの最適な場所はサーバー構成によって異なります。
理想的なストレージ場所:
Web アプリのディレクトリの外側に固定パスを構成します。たとえば、 /var/webapp/upload、VM 引数または環境変数として。このパスはプログラムで取得できます。たとえば、 -Dupload.location=/var/webapp/upload VM 引数を使用する場合:
Path folder = Paths.get(System.getProperty("upload.location"));
ストレージと取得コードの例:
を表すuploadedFile画像:
ストレージ:
String filename = FilenameUtils.getBaseName(uploadedFile.getName()); String extension = FilenameUtils.getExtension(uploadedFile.getName()); Path file = Files.createTempFile(folder, filename + "-", "." + extension); try (InputStream input = uploadedFile.getInputStream()) { Files.copy(input, file, StandardCopyOption.REPLACE_EXISTING); } String uploadedFileName = file.getFileName().toString(); // Save uploadedFileName in database
取得:
アップロード場所を別のコンテキストとして Tomcat に追加します。
<Context docBase="/var/webapp/upload" path="/uploads" />
これで、画像に直接アクセスできるようになります。次のような URL:
http://example.com/uploads/foo-123456.ext
以上がデータベースを使用せずに Java Web アプリに画像を保存および取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。