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

By 5 Febbraio 2020 Senza categoria

메신저는 dataUrl을 donwload하려고하지만 난 너무 큰 것 같아요. 내 다운로드 버튼은 아무것도하지 않을 것이고 나는 dataUrl이 매우 커서 그런 일이 일어난다고 생각합니다. 내 데이터가 너무 크지 않을 때 코드가 잘 작동합니다. 대안이 있습니까? 그러나 최신 브라우저에서 알 지 않거나 드물게 다운로드 된 파일 확장명이 차단되고 해당 파일을 실제로 열려면 프롬프트가 나타납니다 (Chrome에서 적게). saveA는 onTouchDown 또는 onClick과 같은 사용자 상호 작용 이벤트 내에서 실행되어야 합니다. setTimeout은 saveA가 트리거되는 것을 방지합니다. 때문에 iOS saveAs는 다운로드하는 대신 새 창에서 열립니다,이 수정을 원하는 경우이 버그가 당신에게 미치는 영향을 애플에 알려주십시오. 기존 .js 및 .css 파일을 일부 수정하여 프로덕션 환경으로 이동할 때마다 이러한 변경 내용이 소프트웨어를 사용하는 고객의 브라우저에 반영되지 않을 수 있습니다. 이러한 .css 및 .js 파일이 브라우저에 캐시되었기 때문입니다. 사용자가 URL에 액세스하면 캐시된 .js 및 .css 파일이 사용됩니다. 이러한 새 변경 내용이 사용자에게 나타나지 않는 이유입니다. 사용자는 브라우저 쿠키를 지우고 페이지를 다시 로드해야하거나 Ctrl + F5를 눌러 페이지를 하드 새로 고쳐야합니다. JS 또는 Javascript i-e를 통해 다운로드를 강제로 웹 페이지는 브라우저의 새 탭에서 파일을 열지 말고 사용자가 “로 저장”하거나 열 수 있도록 팝업할 수 ??? 참고: 모질라 개발자 네트워크(MDN)에 따르면 콘텐츠 처리 헤더가 “다운로드” 특성에 설명된 파일 이름과 다른 파일 이름을 제공하는 경우 콘텐츠 처리가 우선합니다.

일반적으로 이미지, zip 파일, PDF 문서, EXE 파일 등을 다운로드하기 위해 PHP와 같은 서버 측 스크립팅 언어를 반드시 사용할 필요는 없습니다. 이러한 종류의 파일이 공용 액세스 폴더에 저장되어 있는 경우 해당 파일을 가리키는 하이퍼링크를 만들 수 있으며 사용자가 링크를 클릭할 때마다 브라우저는 해당 파일을 자동으로 다운로드합니다. PDF 또는 이미지 파일을 가리키는 링크를 클릭하면 하드 드라이브에 직접 다운로드되지 않습니다. 브라우저에서만 파일이 열립니다. 또한 하드 드라이브에 저장할 수 있습니다. 그러나 zip 및 exe 파일은 기본적으로 하드 드라이브에 자동으로 다운로드됩니다. 우리가 그렇게 할 네이티브 자바 스크립트 기능이 없기 때문에 브라우저 (사용자)에 의해 다운로드 할 파일을 강제로 하드 보인다. 나는 이 함수가 존재하지 않는 이유를 알고 있지만 여전히 내 앱에서 다운로드 파일을 강제로 해야합니다! 예를 들어 프런트 엔드 앱에 비즈니스 논리를 넣을 때. 다른 답변은 SHIFT-F5를 누르고 자신의 버전의 Chrome을 사용하여 모든 파일을 다시 가져오는 방법을 알려줍니다. 그러나 사이트가 변경 될 때마다 사이트의 모든 사용자에게이 작업을 수행하도록 지시하는 것이 합리적입니까? 캐시 컨트롤을 필수 유효성 검사 로 설정하면 Chrome에서 파일이 변경되었는지 확인한 다음 필요할 때 올바르게 다운로드합니다.

HTML5의 출현으로 앵커 태그에서 새 속성 다운로드를 사용할 수 있습니다. 이 함수는 파일의 이름, 형식 및 데이터를 가져 와서 사용자의 컴퓨터에서 다운로드를 시작합니다. 또한 고전적인 일반 텍스트 파일에는 데이터만 실제로 필요하다는 것을 알 수 있습니다. 따라서, 파일의 자동 다운로드는 최근 몇 년 동안 달성하기 어려웠다, 하지만 지금은 HTML5의 도입으로,이 작업은 달성하기 쉬워지고있다. 내 문제는 일반적으로 w / base64에서 볼 수있는 표준 멀티 라인 콘텐츠를 한 줄의 데이터 구절로 다운로드받고 있다는 것입니다. JSON 배열의 데이터는 이미 인코딩되어 있지만 (rn이 있음) 줄무늬가 없는 것 같습니다. 그것은 심지어 여러 줄w / 콘솔 검사기에 표시됩니다. 플래시 기반 폴리필 없이 IE < 10에 텍스트 파일을 저장할 수 있습니다. 자세한 내용은 첸웬브리안과 코프시럽의 saveTextAs()를 참조하십시오. XHR 또는 가져오기 API를 사용하는 GET 요청에서 데이터 흐름은 자바스크립트에 의해 처리됩니다.