2014-05-20 2 views
0

자바 스크립트로 텍스트 파일을 다운로드하려고했습니다. 이 코드를 사용하고 있습니다 :자바 스크립트로 텍스트 파일 다운로드

HTML : <a id="save_file_local" download="data.local">Save file</a>

자바 스크립트 :

save_file_local.href="data:text/plain,"+encodeURIComponent(response); 
save_file_local.click();  

음, 내가 사용하는 모든 확장자를 가진 완벽하게 작동합니다 ..하지만 ".local의"확장자 , 나는이 이름을 가진 파일을 얻습니다. data.download 확장을 변경하려면 실제로 " .local"파일을 다운로드해야합니다. 해결책은 아닙니다. Internet Explorer 10에서는 완벽하게 작동하지만 Chrome이나 Mozilla에서는 작동하지 않습니다.

나는 운이없는 채로 찾아 왔습니다 ... 그래서 당신의 도움에 감사드립니다! 다른 질문에서

+0

왜 자바 스크립트를 사용해야하나요? 텍스트 파일 인 경우 일반 HTML로 링크 할 수 있어야합니다. 게다가, 자바 스크립트 정말 로컬 파일 시스템에 대한 액세스 권한이 없습니다. 또한이 기사가 유용 할 수도 있습니다 ... http://davidwalsh.name/download-attribute – Jonathan

+0

"save_file_local.href ="data : text/plain, "+ encodeURIComponent (응답), " 파일을 생성 중입니다. –

+0

@ user1707214 PHP에 액세스 할 수 있습니까? 나는 당신에게 PHP –

답변

0

:

<a href="path/to/file" download>Click here to download</a> 

생각 분명히이 완전히 크로스 브라우저를 할 수있는 방법.

0

이것은 브라우저와 서버에 따라 다릅니다.

서버가 "Content-type : text/plain"을 보내는 경우 대부분의 브라우저에 표시됩니다. 그 아무것도 당신이 자바 스크립트로 변경할 수 있습니다.

0

evu가 제안 했으므로 widely or consistently supported yet이 아니지만 HTML5 download 속성을 사용할 수 있습니다. Chrome은 download 속성에 우선권을 부여하지만 http 헤더 Content-Disposition에는 Firefox gives priority을 우선합니다. 그러나 자바 스크립트로 생성 한 콘텐츠 인 경우 download 속성이 작동해야합니다.

서버에 액세스 할 수있는 경우 http 헤더에 Content-Disposition: attachment;을 설정하는 것이 훨씬 더 좋은 해결책입니다.

관련 문제