JavaScript를 파일에 직접 쓸 수 있나요?
사용자가 콘솔에 인쇄하지 않고 JavaScript를 사용하여 기존 텍스트 파일에 데이터를 쓰려고 합니다. . JavaScript는 제한된 파일 조작 기능을 제공하지만 보안 문제로 인해 로컬 파일에 직접 쓸 수는 없습니다.
그러나 JavaScript는 Blob 및 URL.createObjectURL API를 사용하여 브라우저 내에서 파일을 생성할 수 있습니다. 이를 통해 기존 텍스트 파일과 유사한 다운로드 가능한 파일을 생성할 수 있습니다. 안타깝게도 이러한 파일은 사용자의 로컬 저장소에 직접 저장할 수 없습니다.
다운로드 가능한 파일 생성
다음 코드는 JavaScript를 사용하여 다운로드 가능한 파일을 생성하는 방법을 보여줍니다.
var textFile = null; var makeTextFile = function (text) { var data = new Blob([text], { type: 'text/plain' }); if (textFile !== null) { window.URL.revokeObjectURL(textFile); } textFile = window.URL.createObjectURL(data); // Returns a URL that can be used as a link for downloading. return textFile; };
파일 시뮬레이션 다운로드
다운로드를 즉시 시작하려면 마우스 이벤트를 사용하여 사용자가 링크를 클릭하는 것을 시뮬레이션할 수 있습니다.
var create = document.getElementById('create'); var textbox = document.getElementById('textbox'); create.addEventListener('click', function () { var link = document.createElement('a'); link.setAttribute('download', 'info.txt'); link.href = makeTextFile(textbox.value); document.body.appendChild(link); // Wait for the link to be added to the document. window.requestAnimationFrame(function () { var event = new MouseEvent('click'); link.dispatchEvent(event); document.body.removeChild(link); }); }, false);
결론
JavaScript는 로컬 파일에 직접 쓸 수는 없지만 브라우저 내에서 다운로드 가능한 파일을 생성하는 메커니즘을 제공합니다. 이러한 기술을 통해 개발자는 사용자 보안을 손상시키지 않고 동적 파일 생성 기능을 제공할 수 있습니다.
위 내용은 JavaScript는 로컬 파일에 직접 쓸 수 있습니까? 그렇지 않은 경우 다운로드 가능한 파일을 어떻게 생성할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!