2017-10-26 7 views
0

내 개인용 컴퓨터에서 Eclipse를 사용하여 사용자가 자신의 프로필을 만들 수 있도록 Java 응용 프로그램을 개발했습니다. 이 응용 프로그램 사용자 로그인은 단지 SQL 쿼리 기반 사용자 이름 & 암호 확인에 성공한 후 로그인 사용자가 프로필 양식 (createprofile.jsp)을 채우면이 양식은 사용자가 프로필 사진을 업로드 할 수있게하여 사용자가 리디렉션 된 양식을 제출할 때도 허용합니다. 또 다른 jsp (showprofile.jsp)는 업로드 된 사진과 함께 저장된 모든 세부 정보를 표시합니다.java 파일을 호스팅 환경의 tomcat에 업로드

여기서는 모든 양식 데이터를 SQL 테이블에 저장하고 D : \ UploadedImages 폴더에 프로필 사진을 업로드합니다.

또한 Tomcat은 Eclipse 내에서 localhost로 실행 중이며 위의 폴더에 업로드 된 파일이 URL http://localhost:8080/ProjectName/images/imagename.jpg에서 사용 가능하므로 Tomcat server.xml에 컨텍스트 항목을 추가했습니다. 이 날은 지금은이 프로젝트 HelioHost 또는 GoDaddy와 같은 호스팅 서버에 업로드 할

<img src="http://localhost:8080/ProjectName/images/imagename.jpg"> 

처럼 showprofile.jsp에서 프로필 사진을 추가 할 수 있습니다. 이 프로젝트를 업로드하면 호스팅 프로필에 내 영구적 인 대상 폴더가 있어야 사용자 프로필 사진을 업로드 할 수 있으며 위 URL과 같은 URL에서 어떻게 사용할 수 있는지 잘 모르겠습니다.

미리 감사드립니다.

답변

0

바람둥이의 상대 경로가 필요합니다. catalinaBase는 실제로 필요한 것입니다. 아래 예를 참조하십시오.

File catalinaBase = new File(System.getProperty("catalina.base")).getAbsoluteFile(); 
File propertyFile = new File(catalinaBase, "ProjectName/images/imagename.jpg."); 

이것은 귀하의 경로 여야합니다.

다른 내용이 필요하면 질문을 업데이트하십시오.

+0

답장을 보내 주셔서 감사합니다. 몇 가지 질문이 있습니다. 임시 폴더의 위치를 ​​반환 할 예정입니까? 이 폴더의 파일에 직접 URL로 액세스 할 수 있습니까? 여기에 파일 보관 기간은 얼마나됩니까? – NotesArt

+0

아니요. Catalinabase가 여러분의 첫 번째 폴더입니다. temp에 액세스하려면 url은 $ CATALINA_BASE/temp가됩니다. 직접 URL로 무엇을 의미합니까? 귀하의 파일을 보관하는 시간에 관해서는 귀하의 손에 있습니다. 그것은 당신이 바람둥이를 얼마나 자주 청소하는지에 달려 있습니다. 서버 공급자도 자신의 역할을합니다. –

+0

내 공개 _html 폴더 (Heliohost와 같은 일반적인 호스팅 서버)와 같은 위치에 파일을 업로드하려고합니다. 업로드 후 http : // localhost : 8080/ProjectName/images/imagename.jpg와 같은 URL에서 내 파일에 액세스하려고합니다. 숟가락 숟가락에 묻는 것에 대해 유감스럽게 생각합니다. – NotesArt