파일 다운로드 ajax

트리거 앵커를 클릭 하면 저장 하려는 파일 이름으로 다운로드 속성을 수신 하 고 기본적으로 base64 인코딩 문자열로 데이터를 나타내는 readAsDataURL ()에 의해 생성 되는 URL을 생성 합니다. 그런 다음 새 앵커 요소에서 click 이벤트를 시뮬레이트하여 다운로드를 트리거합니다. 지원 해야 하는 브라우저에 따라 jQuery 파일 다운로드를 사용 하는 IFRAME 방법 보다 더 명시적인 제어를 허용 하는 https://github.com/eligrey/FileSaver.js/를 사용할 수 있습니다. “JSON 데이터를 서버에 게시 하 고 excel 파일을 받습니다. 해당 excel 파일은 서버에 의해 만들어지고 클라이언트에 대 한 응답으로 반환 됩니다. 브라우저에서 사용자 정의 이름을 가진 파일로 그 응답을 다운로드 “때때로 나는 POST 요청에서 파일을 다운로드 할 필요가 우연히. Pdf 내용이 요청에 따라 달라 지는 PDF 파일을 생성 하는 예가 있습니다. 흥미롭게도 이것은 당신이 생각 하는 것 처럼 간단 하지 않습니다, 그러나 그것은 어느 것도 어렵지 않다. 나를 위해 이것은 blob 응답 유형을 사용할 때 제대로 작동 하지 않습니다. 설정할 때만 작동 합니다 arraybuffer 합니다. 또한 arraybuffer를 사용할 때 파일 크기에 따라 1 분 후에 다운로드가 표시 됩니다.

결과: 파일을 바이트 배열로 얻은 경우이를 사용 합니다 (byteArray, “이미지/jpeg”).). 일반적으로 우리는 단지 응답을 사용 하 여 다음과 같이 fileStream을 MVC 출력 응답에 씁니다. https://github.com/kennethjiang/js-file-download/blob/master/file-download.js를 확인 하 여 IE 다운로드 항목을 처리 하는 방법을 확인할 수 있습니다. 실제로 Excel 파일을 다운로드 하는 두 번째 MVC 작업 메서드 (FileResult를 반환 하 여): XMLHttpRequest 개체에 진행률 이벤트를 설정할 수 있습니다. 이를 통해 다운로드 한 파일의 비율을 얻을 수 있습니다. 다운로드 옵션이 있는 레코드의 긴 목록이 있을 때이 유형의 파일 생성 및 다운로드를 선호 합니다. 그러나이 경우에만 Html을 사용 하 여 만들 수 있습니다. 우리는 AJAX POST를 수행 하 고 파일을 다운로드 해야하는 많은 상황에 직면 합니다. 위의 코드는 파일을 다운로드 하 고 개체 URL을 설정 합니다-기본적으로 사용자는 파일을 다운로드 하려면 두 번 클릭 해야 합니다. 또한 링크를 동적으로 생성 하 고 클릭을 호출 하 여 사용자가 파일을 다운로드 하기 위해 한 번 클릭 해야 할 수도 있습니다. 요소의 다운로드 특성이 IE 10에서 작동 하지 않습니다. 참조 Blob 및 msSaveBlob를 사용 하 여 로컬로 파일 저장 및 대체 방법에 대 한 msToBlob 메서드.

다른 사람에 게 링크를 보내면 파일을 다운로드할 수 없습니다. 연락처 데이터베이스를 .csv 파일로 내보내는 ajax 함수가 있으며, 완료 되 면 .csv 파일 다운로드가 자동으로 시작 됩니다. 그래서, 나는 응답 텍스트를 얻고 모든 것이 괜 찮 아 요, 나는이 같은 브라우저를 리디렉션: 그렇지 않으면 단순히 페이지에 데이터를 로드 하는 동안 zip 파일을 만들 PHP를 사용 합니다.