나는 주어진 URL이 파일인지 디렉토리인지 알기 위해 java에 코드를 작성하려고한다. 내가 어떻게 할 수 있을까 ??URL http://www.test.com/abc.pdf가 파일인지 디렉토리인지 확인하는 방법은 무엇입니까?
답변
URL 자체에는 "파일"또는 "디렉토리"라는 개념이 없습니다. URL의 내용은 요청시 서버가 응답 한 내용으로 정의됩니다. MIME 유형이 application/pdf
인 항목을 얻으면 URL은 PDF 파일을 나타냅니다. 다른 것을 얻으면 PDF 파일이 아닙니다.
URL/URI 스펙, HTTP 스펙 또는 MIME 유형 레지스트리에 단순히 "디렉토리"라는 개념이 없습니다.
그래서 웹 서버는 클라이언트에게을 알려주지 않으므로 은 URL이 디렉토리를 결정한다는 것을 의미합니다. (그리고 대부분의 경우, 웹 서버는 디렉토리 자체에 대해 신경/모르는, 예를 들어 전형적인 RESTful 웹 API는 개념을 인식하지 못합니다.)
귀하의 옵션은 다음과 같습니다
시도를 가져 콘텐츠 유형을 확인하십시오. 그러나 "디렉토리"가 웹 서버에 의해 렌더링 될 수 있다는 것을 명심하십시오. 이렇게하면 디렉토리를 비 디렉토리와 구분하는 것이 일반적으로 불가능합니다.
파일을 다운로드하지 않으려면 GET 요청 대신 HEAD 요청을 보낼 수 있습니다. 이를 위해서는
URLConnection
이 아닌 완전한 HTTP 클라이언트 라이브러리가 필요합니다.응용 프로그램 설계 및 구현을 변경하여 "디렉토리"개념이 필요하지 않도록하십시오.
응용 프로그램을 변경하여 은 "디렉토리"와 "URL"만을 기준으로 한 "파일"을 결정합니다. (일반적으로이 방법은 작동하지 않습니다 ... 구별을 허용 할 수있는 URL 이름 부분에 대해 보편적으로 관례가 없기 때문에.
URL 스키마/프로토콜을 사용하여 "디렉토리"는 잘 정의 된 개념입니다. 예 : "file :"또는 "ftp :"
URL에서 돌아 오는 것은 본질적으로 "파일"또는 "디렉토리"가 아닙니다. 기껏해야 콘텐츠 유형이있는 데이터 스트림입니다. 일반적으로 클라이언트 측에서 파일 시스템이나 임시 저장소에 저장하여 디스플레이 전용으로 "파일"이됩니다. 기본적으로 웹 서버가 클라이언트에게 HTTP를 사용하는 디렉토리인지를 알릴 방법은 없습니다.
"디렉토리"(아마도 URL을 기반으로 파일 확장자가 없을 수도 있습니다)를 유추하거나 다른 프로토콜을 사용하도록 클라이언트 측 비즈니스 로직을 만들어야합니다.
- 1. 파일이 디렉토리인지 또는 파일인지 확인
- 2. PHP_URL_PATH의 마지막 부분이 파일인지 디렉토리인지 찾는 방법은 무엇입니까?
- 3. 항목이 파일인지 디렉토리인지 인식하는 방법이 있습니까?
- 4. 파일이 유효한 이미지 파일인지 확인하는 방법은 무엇입니까?
- 5. 주어진 경로가 파일인지 폴더인지 확인하는 방법은 무엇입니까?
- 6. 실행 파일인지 확인하는 방법은 파일 경로가 있습니까?
- 7. 데이터가 파일없이 유효한 tar 파일인지 확인하는 방법은 무엇입니까?
- 8. 파일이 파이썬의 디렉토리 또는 일반 파일인지 확인하는 방법은 무엇입니까?
- 9. 업로드 된 파일이 PHP 파일인지 확인하는 방법은 무엇입니까?
- 10. 경로가 svnlook이있는 폴더 또는 파일인지 확인하는 방법은 무엇입니까?
- 11. 파일을 테스트하여 zip 파일인지 확인하는 좋은 방법은 무엇입니까?
- 12. Net :: SFTP를 사용하여 항목이 파일인지 디렉토리인지 어떻게 식별 할 수 있습니까?
- 13. 실제 이미지가 .exe 파일인지 여부를 확인하는 방법
- 14. 주어진 문자열이 .xml 파일인지 확인하는 방법
- 15. 파일이 CSV 파일인지 찾는 방법은 무엇입니까?
- 16. gdb에서 특정 기능이있는 파일을 확인하는 방법은 무엇입니까?
- 17. URL 또는 $ request 객체에서 경로를 확인하는 방법은 무엇입니까?
- 18. PDF 파일이 스캔 된 파일인지 확인하십시오.
- 19. PHP에서 파일이 ASCII 또는 이진 파일인지 확인하는 방법
- 20. NSURL이 로컬 파일인지 확인합니다.
- 21. vb.net을 사용하여 활성 디렉토리에 존재하는 ou를 확인하는 방법은 무엇입니까?
- 22. SVN diff의 항목이 파일인지 폴더인지 식별하는 방법은 무엇입니까?
- 23. 내가 웹 페이지/웹 서버의 지정된 파일인지 증명하는 방법은 무엇입니까?
- 24. 두 파일 이름이 같은 파일인지 비교하는 올바른 방법은 무엇입니까?
- 25. 운영체제를 확인하는 방법은 무엇입니까?
- 26. null인지 확인하는 방법은 무엇입니까?
- 27. 여권을 확인하는 방법은 무엇입니까?
- 28. LDIF를 확인하는 방법은 무엇입니까?
- 29. 파일에 일반 텍스트가 포함되어 있는지 확인하는 방법은 무엇입니까?
- 30. 디렉토리가 다른 폴더의 하위 디렉토리인지 테스트합니다.
Apache는 정적 디렉토리를 text/html로 제공하므로 도움이되지 않습니다. –
그래서 나는 httprequest를 만들고 응답을 받고 응답의 헤더에서 MIME 유형을 찾고 있습니까? 만약 pdf에 httprequest를하고 있다면, 파일을 다운로드하는 것과 똑같은가요? –
@ Yannick Wald : 예, 서버에 질문해야합니다. 그러나 HEAD 요청을 수행하여 전체 파일을 다운로드하지 않고 HTTP 헤더 만 검색 할 수 있습니다 (파일 다운로드는 GET 요청 일 수 있음). –