Posted By on Fev 8, 2020

ajax 파일 다운로드

EMACO


ajax 파일 다운로드

당신이 jQuery 파일 다운로드를 사용하려는 경우, IE에 대한이 유의하시기 바랍니다. 응답을 재설정해야 하거나 정상적인 AJAX 요청을 만드는 데 사용되는 XMLHttpRequest 개체를 다운로드하지 않습니다. 그러나 이진 파일을 다운로드할 때 요청 개체의 responseType 속성이 Blob으로 설정됩니다. 이 기술을 사용하면 ajax 요청에 필요한 모든 추가 속성을 우아하게 추가 할 수 있습니다. 당신은 좋은 Vue 또는 React 구성 요소에 래핑 할 수 있습니다. 파일 API를 사용하면 브라우저에서 파일을 생성, 로드 및 조작할 수 있습니다. Blob을 사용하여 메모리 내 파일을 만들 수 있습니다. 해당 Excel 파일은 서버에서 만들어지고 클라이언트에 대한 응답으로 반환됩니다. 브라우저에서 사용자 정의 이름으로 파일로 그 응답을 다운로드”좋은 선생님 감사합니다! 이것은 내가 작업하고있는 반응 웹 앱에서 비 PDF 파일을 제공하는 데 엄청난 도움이되었습니다.

JPEG 이미지에 대한 httpbin.org 요청을 만들고 이전과 동일한 논리를 사용하여 이미지 데이터를 Blob에 로드하여 사용자 파일 시스템에 다운로드합니다. Zip 파일 생성은 사용자가 하나의 패키지에서 여러 파일을 다운로드할 수 있도록 하는 더 좋은 방법입니다. 이는 파일 수와 크기에 따라 페이지 로드 시간에 영향을 줄 수 있습니다. 블루시스는 이것에 대해 완전히 맞습니다, 자바 스크립트는 (보안 문제에서) 사용자의 컴퓨터에 직접 파일을 저장할 수 없기 때문에 당신은 아약스를 통해 그것을 할 수 없습니다. 불행히도 파일 다운로드에서 기본 창의 URL을 가리키면 파일 다운로드가 발생할 때 사용자 환경을 거의 제어할 수 없습니다. 실제로 ajax를 사용하지 않는 동안 자바 스크립트 호출을 사용하여 다운로드를 요청한 다음 다운로드가 실제로 시작될 때 콜백을 받을 수 있다는 수정 프로그램을 발견했습니다. 링크가 파일을 보내기 전에 파일을 작성하는 데 약간 걸리는 서버 측 스크립트를 실행하는 경우이 유용하다고 판단했습니다. 따라서 처리 중임을 경고한 다음 마지막으로 파일을 보내면 해당 처리 알림을 제거할 수 있습니다.

그래서 ajax를 통해 파일을로드하여 파일이 요청될 때 이벤트가 발생하고 실제로 다운로드를 시작할 때 다른 이벤트가 발생할 수 있도록하려고했습니다. 좋아, ndpu의 코드에 따라 여기에 ajax_download 개선 된 (내가 생각) 버전;- 당신이 지원하는 데 필요한 브라우저에 따라 IFRAME 방법 jQuery 파일 다운로드 사용보다 더 명시적 제어를 할 수있는 https://github.com/eligrey/FileSaver.js/ 사용할 수 있습니다. 요소의 다운로드 속성은 IE 10 및 11에서 작동하지 않습니다. 대안은 Blob 및 msSaveBlob 및 msToBlob 메서드를 사용하여 로컬로 파일 저장을 참조하십시오. 바이너리 파일을 다운로드하기만 하면 Blob을 응답 유형으로 사용합니다. 일반적으로 클라이언트는 브라우저를 사용하여 서버에서 파일 다운로드를 처리합니다.