>  기사  >  데이터 베이스  >  데이터베이스를 사용하지 않고 Java 웹 서버에서 이미지를 효율적으로 저장하고 검색하는 방법은 무엇입니까?

데이터베이스를 사용하지 않고 Java 웹 서버에서 이미지를 효율적으로 저장하고 검색하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-17 17:05:02415검색

How to Efficiently Store and Retrieve Images on a Java Web Server Without Using a Database?

Java 웹 서버에서 이미지를 저장하고 검색하는 방법: 솔루션

이 문서에서는 다음과 같은 일반적인 과제를 해결합니다. 웹 애플리케이션: Java 웹 서버에서 이미지를 효과적으로 저장하고 검색하는 방법. 원래 질문에서 제기된 문제를 해결하는 포괄적인 솔루션을 제공하겠습니다.

쿼리 이해

질문은 다음과 같습니다. 데이터베이스를 저장 수단으로 사용하지 않고 서버에서 XHTML 파일을 효율적으로 검색하고 표시하려면?

권장 솔루션

이상적인 솔루션은 수준에 따라 다릅니다. 서버 구성을 제어합니다. 가능하다면 Tomcat webapps 폴더 외부에 /var/webapp/upload와 같은 고정 경로를 구성하는 것이 좋습니다. 이 경로는 코드 수정 없이 프로그래밍 방식으로 검색할 수 있도록 VM 인수 또는 환경 변수로 설정할 수 있습니다.

솔루션 구현

예를 들어, VM 인수를 사용하는 경우 - Dupload.location=/var/webapp/upload, 다음과 같이 업로드를 완료할 수 있습니다.

Path folder = Paths.get(System.getProperty("upload.location"));
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();
// Now store it in the DB.

파일을 제공하려면 업로드 위치를 Tomcat에 별도의 컨텍스트로 추가하는 것이 이상적입니다. 예:

<Context docBase="/var/webapp/upload" path="/uploads" />

이 설정을 사용하면 http://example.com/uploads/foo-123456.ext와 같은 URL을 통해 파일에 직접 액세스할 수 있습니다.

대체 옵션

서버 구성이 제한적인 경우 데이터베이스를 저장용으로 사용하거나 Amazon S3와 같은 타사 호스트를 활용하는 것이 좋습니다.

추가 리소스

  • [파일을 업로드하기 위해 File 클래스에 상대 경로를 제공하는 방법은 무엇입니까?](https://stackoverflow.com/questions/3344856/how-to-provide-relative-path-in-file-class-to -upload-any-file)
  • [신뢰할 수 있는 데이터 제공](https://tomcat.apache.org/tomcat-8.5-doc/config/context.html#Reliable_Data_Serving)

결론

권장 솔루션을 구현하면 Java 웹 서버에서 이미지를 저장하고 검색하기 위한 강력한 접근 방식을 제공하여 효율적인 파일 관리 및 애플리케이션 인터페이스 표시가 가능해집니다.

위 내용은 데이터베이스를 사용하지 않고 Java 웹 서버에서 이미지를 효율적으로 저장하고 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.