2011-12-14 6 views
0

그래서 ProcessBuilder를 사용하여 로컬 서버에 일부 스크립트를 실행하는 Spring 웹 응용 프로그램을 작성하고 있습니다. 그 부분은 잘 돌아가고있는 것 같습니다. 스크립트는 출력 파일을 생성 한 다음 단일 .zip 파일로 압축합니다. 사용자에게 이러한 파일을 다운로드 할 수있는 방법을 제공하고 싶지만이를 수행 할 수있는 최선의 방법이나 방법을 구현하는 방법을 모르겠습니다.Spring App에 디렉토리를 표시하는 방법은 무엇입니까?

URL에 디렉토리 경로를 넣으려고 시도했지만 Spring이 모든 URL을 가로 채고 Zip이있는 디렉토리 나 Zip 자체를 가리키는 URL을 처리하는 방법을 모르기 때문에 나는 믿습니다. 그냥 오류가 발생합니다. 이것을하기위한 적절한 방법은 무엇입니까? 파일 목록을 표시하거나 파일 자체에 링크 만 하시겠습니까? 어떤 도움이라도 정말 감사 할 것입니다. 감사합니다.

답변

1

웹 응용 프로그램에서 파일을 다운로드하는 방법은 파일의 내용을 http 응답의 출력 스트림에 쓰는 서블릿을 작성하는 것입니다. 이 here의 예가 Excel 파일을 다운로드하고 있습니다.

웹 페이지에서 가져온 디렉토리 목록은 자동으로 발생하는 것이 아니라 파일 다운로드 서블릿에 링크 된 각 파일에 하이퍼 링크가있는 디렉토리 목록을 표시하는 JSP를 작성해야합니다.

+0

대단히 감사합니다. 그게 어떻게 이루어 졌는지 나는 몰랐다. 이제는 스프링에 적용해야합니다. – cardician

0

나는 둘러 보았고 봄에 완전한 디렉토리 리스팅 예제를 찾을 수 없었다. 구현하기가 상대적으로 간단하지만 이것을 설명하기 위해 블로그 게시물을 작성하므로 필요할 때 빨리 재사용 할 수 있습니다. http://krishna-passionatelycurious.blogspot.com/2013/04/file-download-page-using-spring.html.

그러나 전반적인 접근법은 디렉토리의 내용을 반복하고 적절한 링크를 생성하여 링크가 동일한 스프링 핸들러를 가리키고 액세스 된 링크가 실제로 가리키는 지 여부에 따라 결정할 수 있도록하는 것입니다 디렉토리 또는 파일을 검색하고 디렉토리 목록을 다시 생성하거나 다운로드 할 내용을 스트리밍합니다.

블로그에이 샘플 구현이 있습니다.

관련 문제