Close

jsp 대용량 파일 다운로드

감사 sg707, 나는 ajax에 대 한 사전 경험이 없 었 어 요 하지만 난 그것을 보고 하려고 합니다. 그러나 나는 그것을 사용 하는 경우, 나는 여전히 작은 크기의 파일에 대 한 다운로드 완료를 결정 하는 동일한 문제를가지고, 하지 않습니다? 이 페이지는 서버에 상주 하는 총 파일에 대 한 결과를 표시 하는 데 사용 됩니다. 다음 코드를 추가 합니다. 이 컨트롤러에는 두 개의 파일이 포함 됩니다. 한 파일은 응용 프로그램 (내부 리소스)에 내부 이며 다른 파일은 응용 프로그램 외부의 파일 시스템에 있습니다. 프로젝트의 외부 파일 경로를 변경 해야 합니다. 데모 목적 으로만 path에 추가 경로 변수 (내부/외부)를 포함 시켰습니다. 우리는 사용 하는 스프링 FileCopyUtils 소스에서 대상으로 스트림을 복사 하는 유틸리티 클래스. 아마도 파일 다운로드는 while 루프가 종료 되는 즉시 완료 될 것입니다. 그러나 파일의 크기에 따라 다른 결과를 얻고 있습니다. 위의 코드는 다운로드가 완료 된 후에만 인쇄 되는 매우 큰 파일 (즉, “루프 부족”)과 완벽 하 게 작동 합니다.

그러나 파일 크기가 작으면 파일 다운로드 대화 상자에서 ` 저장 `을 클릭 하기 전에 “루프 부족” 문자열이 인쇄 됩니다. 파일 [URL]이 암호로 보호 되어 있는 경우 암호를 입력 하 고 암호가 올바른 경우 파일을 다운로드 하는 것을 알려주는 코드를 [예 I ¿] 하 고 싶습니다. 즉, 클라이언트가 완전히 수신 될 때가 아니라 서버에서 보낼 준비가 된 파일이 완전히 버퍼링 된 지점을 기록 하 게 됩니다. 따라서 버퍼에 완전히 맞는 작은 파일은 다운로드가 요청 되기 전에 보낼 준비가 된 버퍼에서 끝날 수 있으며, 큰 파일은 버퍼에 맞는 만큼만 로드 되 고 파일 내용의 일부가 전송 된 후에만 버퍼를 다시 로드 합니다. 따라서 루프의 끝은 전송 되는 파일의 일부가 클라이언트에서 전체 파일을 수신할 때가 아니라 버퍼에 들어갈 수 있을 정도로 작기 때문에 트리거됩니다. 버퍼가 얼마나 큰지 해결할 수 있다면 그 많은 데이터를 전송 하는 데 걸리는 시간에 대 한 지연을 추가 하 고 버퍼 보다 큰 파일에 대 한 권리를 얻기에 매우 가까이 올 것입니다. 위의 이미지에서 사용자는 다운로드 링크를 클릭 하 여 파일을 다운로드할 수 있습니다. 이제 이미 서버에 업로드 된 파일을 보기 위해, 사용자는 모든 업로드 된 파일 목록 링크를 클릭 합니다.

업로드 된 파일 페이지가 표시 되 고 아래 이미지와 같은 응답을 받게 됩니다. 서버에 파일이 없을 경우에는 “파일을 업로드 하지 않았습니다 … ..” 라는 오류 메시지가 표시 됩니다. 안녕하세요 독자,이 튜토리얼에서, 우리는 서블릿 기반 자바 웹 응용 프로그램에서 파일 업로드 및 다운로드 기능을 설정 하는 방법을 보여줍니다. http://localhost:8085/ServletFileUploadDownload/fileupload.jsp 당신은 나에 게 이것을 도와 주세요 수 있습니다. 또한 .js 및 .css 파일이 프로젝트 및 설명에서 누락 되었습니다. 나는 정말 자바와 파일의 다운로드가 그 대답 할 수 있도록 처리 되는 정확한 방법으로 충분히 익숙하지 않다. 크기를 변경 하 고 그것은 어떤 효과 볼 수 있습니다., 그것은 도움이 되지 않는 경우 실행 취소 할 수 있도록 정말 큰 변화 하지 않습니다 그리고 그것은 충분히 쉽게 테스트. 두 파일을 약간 작게 테스트 하 고 해당 크기 보다 약간 큰 크기를 선택 하 여 해당 크기가 변경 되지 않고 효과가 있는지 테스트할 수도 있습니다.

이 컨트롤러 클래스는 서버에 이미 업로드 된 파일을 표시 하는 데 사용 됩니다. 이 구현 뒤에 나오는 간단한 코드 조각을 살펴보겠습니다. 이 페이지에는 하나 또는 여러 개의 파일을 업로드 하는 업로드 양식이 포함 되어 있습니다. 다음 코드를 추가 합니다. 필요한 Java 파일을 만들어 봅시다. Src/main/java 폴더, > 패키지를 마우스 오른쪽 버튼으로 클릭 합니다.