포함 된 디렉토리의 파일을 읽고 addFile ()를 사용 하 여 $zip 객체에 추가 합니다. 때때로 나는 POST 요청에서 파일을 다운로드 할 필요가 우연히 발견. Pdf 내용이 요청에 따라 달라 지는 PDF 파일을 생성 하는 예가 있습니다. 흥미롭게도 이것은 당신이 생각 하는 것 처럼 간단 하지 않습니다, 그러나 그것은 어느 것도 어렵지 않다. 그런 다음 post 요청의 성공 콜백에서 창 위치를 설정 하 여 다른 ajax 호출을 만들 것입니다. 아래와 같이 다운로드 MVC 작업 메서드를 다음과 같이 합니다 .이를 위해 실제로 ajax는 전혀 필요 하지 않습니다. 그냥 버튼의 href로 “다운로드. p s p”를 설정 하는 경우, 또는, 그것은 링크 사용 하지 않는 경우: 나는 더 나은 사용자 경험을 제공 하기 위해 OnSuccess 및 Onsuccess 콜백을 완료 파일 다운로드와 “아 약 스 같은” 경험을 허용 jQuery를 파일 다운로드를 만들었습니다. 플러그인이 해결 하는 일반적인 문제와 작업에서 jQuery 파일 다운로드의 데모를 사용 하는 방법에 대 한 내 블로그 게시물을 살펴 보십시오. 여기서 소스는 요소의 다운로드 속성이 IE 10에서 작동 하지 않습니다. 참조 Blob 및 msSaveBlob를 사용 하 여 로컬로 파일 저장 및 대체 방법에 대 한 msToBlob 메서드.

또한 확산 시트 라이트 Nuget 패키지를 사용 하면 데이터베이스 또는 웹 서비스에서 검색 된 데이터로 즉석에서 Excel 파일을 만들 수 있습니다. 튜토리얼의 끝에서 데모 다운로드 코드는이에 대해 완전히 오른쪽, 자바 스크립트는 사용자의 컴퓨터에 직접 파일을 저장할 수 없기 때문에 당신은 Ajax를 통해 그것을 할 수 없습니다 (보안 문제에서). 불행히도 파일 다운로드 시 주 창의 URL을 가리키면 파일 다운로드가 발생할 때의 사용자 경험을 거의 제어할 수 없습니다. JQuery 파일 다운로드를 사용 하려면 IE에 주의 하십시오. 당신은 응답을 재설정 해야 하거나 먼저 @URL 호출 AJAX POST 메소드를 호출 하는 호출 코드 (버튼의 클릭 말에) 자바 스크립트 코드를 다운로드 하지 않습니다. 보고서 “를 클릭 한 다음이 ajax 메서드의 성공 콜백에서 창을 설정 합니다. 파일 결과를 반환 하는 두 번째 URL에 대 한 위치: @Url.” 응용 프로그램/vnd ms-excel “의” 적용 “을 사용 하 여”. 는 .xlsx 파일을 다운로드 하는 데 유용 합니다. 다음 코드는 확산 시트 라이트 nuget 패키지와 함께 사용 하 여 Excel 파일을 즉석에서 생성할 수 있습니다 .이 기술을 사용 하면 ajax 요청에 필요한 모든 추가 속성을 우아하게 추가 할 수 있습니다. 당신은 좋은 Vue에 포장 하거나 구성 요소를 반응 할 수 있습니다. Zip 파일 생성은 사용자가 하나의 패키지로 여러 파일을 다운로드 할 수 있도록 하는 더 좋은 방법입니다. 이 파일의 수와 크기에 따라 페이지 로드 시간에 영향을 미칠 수 있습니다.

단순히 이진 파일을 다운로드 하는 경우 응답 유형으로 blob을 사용 합니다. 연락처 데이터베이스를 .csv 파일로 내보내는 ajax 함수가 있으며, 완료 되 면 .csv 파일 다운로드가 자동으로 시작 됩니다. 그래서, 나는 응답 텍스트를 얻고 모든 것이 괜 찮 아 요, 나는이 같은 브라우저를 리디렉션: 파일 API를 사용 하면 브라우저에서 파일을 생성, 로드 및 조작 할 수 있습니다. 우리는 메모리 내 파일을 생성 하기 위해 Blob을 사용할 수 있습니다: 그것은 가능 하다. 예를 들어 .csv 파일을 만든 직후에 ajax 함수 내에서 다운로드가 시작 되도록 할 수 있습니다. XMLHttpRequest 개체는 정상적인 AJAX 요청을 만드는 데 사용 됩니다. 그러나 이진 파일을 다운로드 하는 경우는 응답 요청 개체의 속성을 blob로 설정 됩니다. 참고:이 코드는 FPDF 라이브러리를 사용 하 여 PDF 파일을 생성 합니다. 데모용으로 pdf는 $ _ POST의 내용으로 채워집니다.

일반적으로 클라이언트는 브라우저를 사용 하 여 서버에서 파일을 다운로드 하는 것을 처리 합니다. 그러나이 방법은 새 브라우저 창, iframe 또는 다른 종류의 비우호적이 고 해 키 동작을 열기 위해 필요 합니다. 다운로드 요청에 추가 헤더 정보를 추가 하는 것도 어렵습니다. 더 나은 솔루션은 XMLHttpRequest 또는 요청 라이브러리와 함께 HTML5 파일 API를 활용 하는 것입니다. 지원 해야 하는 브라우저에 따라 jQuery 파일 다운로드를 사용 하는 IFRAME 방법 보다 더 명시적인 제어를 허용 하는 https://github.com/eligrey/FileSaver.js/를 사용할 수 있습니다.