자바 스크립트 로 파일 다운로드

이것은 이제 몇 가지 주의 사항과 함께 권장 하는 접근: jQuery UI와 함께 개발자는 쉽게 파일 다운로드가 발생 하는 사용자에 게 모달을 표시할 수 있습니다., 다운로드 시작 후 모달을 해체 하거나 심지어 오류가 발생 하는 친절 한 방식으로 사용자에 게 알릴 수 있습니다. 이에 대한 예는 데모를 참조하십시오. 이 누군가가 도움이 되기를 바랍니다! FireFox, 크롬 및 IE 코드에 대한 데이터를 다운로드하기위한 가장 완전하고 작업 (테스트) 코드가 다음과 다. 데이터가 texarea 필드에 있고 id=textarea_area`가 있고 파일 이름이 데이터가 다운로드될 파일 이름이라고 가정합니다. 서버에 연결하지 않고 파일을 다운로드하는 또 다른 옵션이 있습니다. 이번에는 FileSaver.js라는 자바 스크립트 라이브러리를 사용하고 있습니다. 아래 예제에서는 saveAs() FileSaver 인터페이스를 구현하는 구문을 제공합니다. 이것은 텍스트 파일을 생성하고 다운로드하는 데 효과적입니다 : 내 서버에없는 원격 텍스트 파일을 가져 와서 다운로드할 수 있도록 브라우저로 다시 전달하는 마법은 무엇입니까? 나는 php.를 통해 스트리밍을 피하고 싶다. 내 경우에는 그들은 어쩌면 내가 JS를 통해 스트리밍 할 수있을만큼 작다? 정말 큰 파일을 더 크게 저장해야하는 경우 Blob의 크기 제한이 있거나 충분한 RAM이 없는 경우 새 스트림 API의 힘으로 데이터를 비동기적으로 하드 드라이브에 직접 저장할 수있는 고급 StreamSaver.js를 살펴보십시오. 즉, 진행에 대한 지원을해야합니다, 취소하고 쓰기가 완료되면 알고. 따라서, 파일의 자동 다운로드는 최근 몇 년 동안 달성하기 어려웠다, 하지만 지금은 HTML5의 도입으로,이 작업은 달성하기 쉬워지고있다. 새 탭에서만 열려면 사용자가 _blank 설정된 대상 속성이 있는 링크를 클릭하는 것이 유일한 방법입니다.

지금까지 서버에서 제공되고 HTTP를 통해 클라이언트로 전송되는 파일을 다운로드하는 방법을 살펴보았는데, 이는 거의 전통적인 흐름입니다. 또한 웹 API를 사용하여 브라우저에서 프로그래밍 방식으로 콘텐츠를 추출하거나 생성하는 방법도 보았습니다. 다음은 약속과 플러그인 소스를 사용하여 간단한 사용 사례 데모입니다. 데모 페이지에는 `더 나은 UX` 예제도 많이 포함되어 있습니다. 이 옵션을 생략하는 경우, 브라우저는 이 동작에 대한 일반적인 사용자 기본 설정에 따라 파일 선택기를 표시하거나하지 않습니다 (Firefox에서이 환경 설정은 약 :환경 설정에서 “항상 파일을 저장할 위치를 요청”, 또는 browser.download.useDownloadDir 에 대한 :config). 가장 좋은 부분은 모든 것이 생성되고 즉석에서 파괴되기 때문에 서버에 잔여 파일을 남기지 않는다는 것입니다! 그런 다음 텍스트 변수의 내용을 텍스트 파일로 내보내려면이 JavaScript 코드를 사용할 수 있습니다 . 캔버스는 플래시가 없는 추가 보너스로 놀랍고 효율적인 애니메이션을 위한 수단을 제공합니다. 이 개발자는 대신 자신의 멋진 자바 스크립트 기술을 플래시 할 수 있습니다. 여기에 아홉 믿을 수없는 캔버스 데모는 … URL.createObjectURL()을 사용하여 JavaScript에서 생성된 데이터를 다운로드하고 나중에 객체 URL(해지ObjectURL 포함)을 취소하려는 경우(권장되는 대로) 다운로드가 완료된 후 이를 수행해야 합니다. 이렇게 하려면 downloads.on변경 된 이벤트를 들어보십시오.

과거에는 인기 있는 브라우저로 인해 안전 문제로 인해 자동 다운로드를 실행하기가 어려웠습니다.