spring 파일 다운로드 ajax

로컬 컴퓨터에 파일을 저장 하려면 파일 링크 다운로드를 클릭 합니다. 실제로 Excel 파일을 다운로드 하는 두 번째 MVC 작업 방법 (FileResult를 반환 하 여): 간단한 스프링 Mvc 컨트롤러 파일을 다운로드 합니다. 아래 단계에 따라 샘플 „abc .pdf“ 파일을 다운로드 하십시오. FileStreamResult: 응답에 스트림을 보냅니다. 새 FileStream („이미지/jpeg“)을 반환 하는 경우. 그러나 반환할 수도 있습니다는 FileContentResult 또는 FileStreamResult, 또는 다음과 같이 FileResult를 사용할 수 있습니다 (창. 위치, HTTP Post에 대 한 하지): 응용 프로그램 개발에서 우리는 파일 등의 리소스를 다운로드 하는 데 필요한 대부분의 시간 , xls는 브라우저 요청을 사용 하 여 서버측에서 보고 합니다. 이 튜토리얼에서, 우리는 봄 MVC 응용 프로그램을 사용 하 여 파일을 다운로드 하는 방법을 볼 수 있습니다. 그런 다음 post 요청의 성공 콜백에서 창을 설정 하 여 다른 ajax 호출을 만들 것입니다. 위치를 다운로드 MVC 작업 메서드를 아래와 같이: 또는 파일 데이터는 데이터베이스에 저장 되 고 Excel 파일을 다운로드 해야 하는 시나리오가 있습니다. 다음 코드가 도움이 될 수 있습니다. 파일 경로를 사용 하 여 디스크에 파일을 반환 합니다. 새 FilePathResult를 반환 합니다 („~/App_data/simaiMediaTypeNames“ + ImageName, 시스템.

이 게시물에서, 나는 로컬 컴퓨터에 웹 서버에서 이미지, 우편, pdf 등의 파일을 다운로드 하는 스프링 MVC 응용 프로그램을 개발 하는 방법을 보여줍니다. 안녕! 나는 technicalkeeda.com 프로그래밍 매니아의 설립자입니다. 내 기술은 자바, J2EE, 스프링 프레임 워크, Nodejs, PHP 및 더 많은을 포함 한다. 당신은 당신이 나를 개발 하고자 하는 어떤 생각이 있다면? 연결할 수 있습니다. 파일을 바이트 배열로 얻은 경우 다음을 사용 합니다. 새 FileContentResult (바이트 배열, „이미지/jpeg“)를 반환 하는 경우이 기능을 사용할 수 있습니다. 클릭 „다운로드 abc .pdf“ 링크, 그것은 열 것 이다 다른 이름으로 저장 대화 상자. 그러나 HTTP에서 우리는 위의 예에서와 같이 간단한 데이터를 전송 하는 경우에는 괜찮습니다 (MVC 작업 방법 다운로드), 이미지 이름. 우리의 수정 된 File다운로더는 리퍼러 헤더가 null이 아닌 경우에만 파일을 브라우저로 전송 합니다. 이렇게 하면 브라우저에 Url을 입력 하거나 다른 도메인에서 들어오는 요청을 통해 이미지가 직접 다운로드 되는 것을 방지할 수 있습니다. 자바 스크립트 코드, 호출 코드는 먼저 @URL를 호출 AJAX POST 메소드를 호출 하는 버튼의 클릭을 말한다. 보고서를 작성 한 다음이 ajax 메서드의 성공 콜백에서 해당 창을 설정 합니다.

파일 결과를 반환 하는 두 번째 URL에 위치: @Url. 이러한 경우에는 („홈/다운로드 엑셀 보고서“) 이러한 경우에는 (AJAX를 사용 하 여 HTTP POST 및 파일을 다운로드), 솔루션은 우리가 먼저 HTTP Post 요청을 만들 것입니다 2 갈래 접근 방식을 사용 하는 것입니다, 그리고 컨트롤러 작업에서 우리는 메모리 스트림에 파일 콘텐츠를 저장 합니다. 그런 다음이 MemoryStream은 세션에 배치 되 고 새로 생성 된 파일의 이름을 뷰로 반환 합니다. 따라서 다운로드는 단지 윈도우를 설정 하 여 일어날 수 있다. MVC 다운로드 작업의 url에 위치 합니다. 이제 응용 프로그램 URL에 충돌 하는 경우: http://localhost:8080/springmvcexample/download/pdf/sample.pdf, 아래와 같은 브라우저에서 다른 이름으로 저장 대화 상자를 얻을 수 있을 것입니다. 일반적으로 우리는 단지 응답을 사용 합니다. fileStream을 MVC 출력에 쓰기 위해 쓰기 다음과 같이 응답: 파일이 폴더 내에 배치 됩니다 „/Web-in/rs/sdf“.