ajax file 다운로드

@Robin S, 링크 주셔서 감사합니다. 나는 그것을 조금 다른 방식으로 고정하거나 속였다. AJAX 포스트의 성공 기능에서 성공 여부에 대한 응답을 확인합니다. 성공과 같으면 일반 URL 뒤에 쿼리가있는 동일한 페이지로 리디렉션됩니다. 파일에서 쿼리가 URL에 있는지 확인하고 그렇다면 파일을 다운로드로 푸시합니다. 이 메서드에 대한 안전하지 않은 유일한 점은 쿼리를 알고 있으면 일련 번호없이 파일을 얻을 수 있다는 것입니다. 어쨌든, 그것은 당분간 작동, 잘하면이것은 다른 사람이 Zip 파일 생성이 하나의 패키지에 여러 파일을 다운로드 할 수있는 더 나은 방법입니다 도움이됩니다. 이는 파일 수와 크기에 따라 페이지 로드 시간에 영향을 줄 수 있습니다. 이것은 내 코드이며 Shahrukh Alam의 코드와 유사합니다. 그러나 당신은 그 창을주의해야한다.

URL.createObjectURL은 메모리 누수를 만들 수 있습니다. 이 것을 참조할 수 있습니다. 응답이 도착하면 데이터가 브라우저의 메모리에 저장됩니다. 따라서 링크를 클릭하기 전에 파일이 다운로드되었습니다. 그것은 당신이 다운로드 한 후 아무것도 할 수 있다는 것을 의미한다. 이 자습서에서는 AJAX에서 파일을 다운로드하도록 요청하고 완료된 다운로드 비율을 보여 주도록 하는 방법을 보여 주며 이 자습서에서는 파일을 다운로드할 수 있습니다. 다음 CDN은 압축 및 압축되지 않은 버전의 jQuery 릴리스도 호스트합니다. jQuery 1.9부터 는 소스맵 파일을 호스트할 수도 있습니다. 사이트의 문서를 확인하십시오. CSV 파일을 다운로드한 다음 다운로드가 완료된 후 작업을 수행하려고 합니다.

따라서 적절한 콜백 함수를 구현해야합니다. XMLHttpRequest 개체에서 진행률 이벤트를 설정할 수 있습니다. 이를 통해 다운로드 한 파일의 백분율을 얻을 수 있습니다. XMLHttpRequest 개체는 일반 AJAX 요청을 만드는 데 사용됩니다. 그러나 이진 파일을 다운로드할 때 요청 개체의 responseType 속성이 Blob으로 설정됩니다. 위의 코드는 파일을 다운로드하고 개체 URL을 설정합니다 – 기본적으로 사용자는 파일을 다운로드하기 위해 두 번 클릭해야합니다. 링크를 동적으로 만들고 사용자가 파일을 다운로드하려면 한 번 클릭해야 하므로 링크를 클릭할 수도 있습니다. 브라우저가 파일을 다운로드할 수 있도록 하는 간단한 방법은 다음과 같이 요청을 하는 것입니다: 사용 가능한 모든 파일 및 버전을 보려면 현재 대부분의 웹 응용 프로그램에 https://code.jquery.com 방문하면 사용자가 파일을 다운로드할 수 있도록 정상 링크가 표시됩니다. 링크를 클릭하면 브라우저는 파일임을 감지하고 사용자가 다운로드할 수 있도록 합니다.

이것은 사용자가 파일을 다운로드 할 수 있도록하는 가장 쉬운 방법입니다. jQuery 1.9부터 는 jQuery CDN에서 소스맵 파일을 사용할 수 있습니다. 그러나 버전 1.10.0/2.1.0현재 압축된 jQuery는 압축되지 않은 파일 및 소스맵 파일을 압축된 파일과 동일한 위치에 배치해야 하기 때문에 CDN 복사본의 소스맵 주석을 더 이상 포함하지 않습니다.