Blog

javascript 파일 자동 다운로드

302 Views0 Comment

URL 인터페이스를 사용하면 매우 간결한 형식으로 Blob 개체 또는 파일을 나타내는 데 사용되는 개체 URL이라는 특수 한 종류의 URL을 만들 수 있습니다. 일반적인 개체 URL은 다음과 같습니다:이 옵션을 생략 하는 경우, 브라우저는 파일 선택기를 표시 합니다 또는이 동작에 대 한 일반적인 사용자 기본 설정에 따라 (Firefox에서이 환경 설정에 “항상 파일을 저장 하는 위치를 요청” 에 대 한:환경 설정, 또는 browser.download.useDownloadDir 약:config). 이 섹션에서는 문서 의 시작 부분에서 배운 모든 내용과 Blob 및 개체 URL에 대해 이미 알고 있는 내용을 활용하여 브라우저에서 프로그래밍 방식으로 콘텐츠를 생성하는 방법을 살펴봅습니다. GIF 이미지에 대한 HTTP 응답이 파일 다운로드를 적용하는 것처럼 보이는 것은 다음과 같습니다: 과거에는 인기 있는 브라우저로 인해 안전 문제로 인해 자동 다운로드를 실행하기가 어려웠습니다. HTML5 및 자바 스크립트 다운로드 방법으로, 이것은 더 이상 문제가되지 않습니다. 정말 큰 파일을 더 크게 저장해야하는 경우 Blob의 크기 제한이 있거나 충분한 RAM이 없는 경우 새 스트림 API의 힘으로 데이터를 비동기적으로 하드 드라이브에 직접 저장할 수있는 고급 StreamSaver.js를 살펴보십시오. 즉, 진행에 대한 지원을해야합니다, 취소하고 쓰기가 완료되면 알고. Blob은 때때로 저장되는 대신 열릴 수 있습니다. 다운로드를 강제로 응용 프로그램 / 옥텟 스트림 MIME 유형을 사용하면 Safari에서 문제가 발생할 수 있습니다. saveA는 onTouchDown 또는 onClick과 같은 사용자 상호 작용 이벤트 내에서 실행되어야 합니다. setTimeout은 saveA가 트리거되는 것을 방지합니다. 때문에 iOS saveAs는 다운로드하는 대신 새 창에서 열립니다,이 수정을 원하는 경우이 버그가 당신에게 미치는 영향을 애플에 알려주십시오.

다운로드 속성의 동작에 대한 몇 가지 주목할 만한 사실이 있습니다: 이제 다운로드 도우미 기능이 있으므로 이전 예제를 다시 방문하여 생성된 콘텐츠에 대한 다운로드를 트리거하도록 수정할 수 있습니다. 자 간다. 참고: 자동 다운로드를 사용하면 사용자가 파일 경로를 볼 수 없도록 안전한 다운로드 링크를 만들 수 있습니다. 서버에 연결하지 않고 파일을 다운로드하는 또 다른 옵션이 있습니다. 이번에는 FileSaver.js라는 자바 스크립트 라이브러리를 사용하고 있습니다. 아래 예제에서는 saveAs() FileSaver 인터페이스를 구현하기 위한 구문을 제공합니다. 지금까지 서버에서 제공되고 HTTP를 통해 클라이언트로 전송되는 파일을 다운로드하는 방법을 살펴보았는데, 이는 거의 전통적인 흐름입니다. 또한 웹 API를 사용하여 브라우저에서 프로그래밍 방식으로 콘텐츠를 추출하거나 생성하는 방법도 보았습니다. 일반적으로 다운로드할 파일은 먼저 클라이언트를 통해 서버에서 요청됩니다(예: 사용자의 웹 브라우저). 그런 다음 서버는 파일의 내용과 클라이언트가 파일을 다운로드하는 방법을 지정하는 일부 지침 헤더가 포함된 응답을 반환합니다. 다운로드 특성은 사용자가 하이퍼링크를 클릭할 때 대상이 다운로드되도록 지정합니다.

이 특성은 href 특성이 설정된 경우에만 사용됩니다. 자바 스크립트를 사용하여 파일을 생성하고 다운로드 ? 당신이 그것에 대해 생각 하는 경우, 이것은 당신이 생각 하 고 사용자 상호 작용 없이 허용 되지 않아야(그러나 지금 허용).