2013-01-15 5 views
-1

찾아보기 파일 경로를 가져오고 싶습니다. 나는 그것을Java에서 찾아보기 파일 경로를 얻는 방법

Object objUploadEvent = ctx.getTriggerEvent(); 
     if (objUploadEvent != null && (objUploadEvent instanceof UploadEvent)) { 
      upEvent = (UploadEvent) objUploadEvent; 
     } 
     if (upEvent != null) { 
      Media media = upEvent.getMedia(); 
      File file=new File(media.getName()); 
      this.path = file.getAbsolutePath(); 
     } 

그러나 getAbsolutePath 이클립스에서 경로를주고있다처럼 시도했다. (여기서 파일이 클라이언트에있는 경우

+0

사용 .getPath() 여기를 참조하십시오 : http://stackoverflow.com/a/1099399/1617189 –

답변

0

감사 //doc/abc/myfile.txt : // 문서/ABC 다음은 C로 경로를 제공해야합니다 내 파일이 C 인 경우라고 브라우저가 있습니다), 보통의 파일 업 로더에서는 불가능합니다. This question에는 직면 한 것과 똑같은 문제를 해결하는 몇 가지 대안이 있습니다.

파일이 서버에있는 경우, file.getCanonicalPath()을 시도하십시오. 이것은 전체 경로를 제공해야합니다.

또한 참조 : 그런데 What's the difference between getPath(), getAbsolutePath(), and getCanonicalPath() in Java?

, 당신은 당신의 프로그램이 System.getProperty("user.dir"))을 사용하여, 이클립스 디렉토리를 시작된 디렉토리를 얻을 수 있습니다. 그러나 필요한 모든 파일 경로를 사용하는 경우이 사용하지 않는 것이 좋습니다. 당신이 당신의 로그에 media.getName()에서 인쇄 할 경우

+0

아니요, 둘 다 절대적으로 같은 C : \ softwares \ eclipse3.5 \ eclipse3.5 \ AMANDA_docx – Romi

+0

입니다. C : \에서 시작하는 경로를 원한다고 생각했습니다. 상대 경로를 찾고 있습니까? – Navin

+0

@Romi 그런데 파일 시스템에 해당 파일이 있는지 확인 하시겠습니까? 나는 당신이 그것의 이름만을 사용하여 창조했기 때문에 묻습니다. – Navin

0

, 당신은 대부분의 아마 경로없이, 그냥 파일 이름입니다 것을 볼 수 있습니다 : 그것은 파일에 대한 정보의 양이 브라우저에 달려 있기 때문이다 myfile.txt

그들이 업로드 된 바이트와 함께 전송하십시오. 대부분의 브라우저는 경로없이 이름 만 제공합니다. 오페라를 시도해보십시오, 거기서 완전한 파일 경로를 얻어야합니다.

+0

예, 맞습니다. media.getName()에서 myfile.txt 만 가져옵니다. 하지만 난 오페라뿐만 아니라 모든 브라우저에서 경로를 얻으려면 – Romi

+0

글쎄, 당신 won'ẗ 얻을 :) 당신이 별도의 양식 필드에 그것을 보내지 않는 한 – rompetroll

0

정확하게 이해하면 클라이언트의 원본 파일의 위치를 ​​서버의 파일 위치와 반대로으로 지정 하시겠습니까?

보안상의 이유로 불가능합니다. 죄송합니다.

당신에 유래에 대한 논의를 많이 찾아 다른 곳에서 (때로는이 보안 기능의 일부 브라우저의 구현의 'fakepath' symptom 참조에 있습니다.

을 너무 많은 세부 사항으로가는없이,이 보안 기능에 대한 추론을 어떤 웹 사이트도 사용자의 파일 시스템에 대해 알아야 할 필요는 없습니다 (읽기 : 가능). 따라서 파일을 서버에 업로드 할 때 파일 데이터 만 보내야합니다.

기술적으로 볼 때, 어떤 오래된 브라우저에서 가능했습니다 (예 : IE6입니다). 그러나이 시점에서 꽤 유비쿼터스 보안 기능이며, 당신은에 의존하는 운명 일 것입니다. 이 정보.

관련 문제