> 웹 프론트엔드 > JS 튜토리얼 > 서버 상호 작용 없이 클라이언트 측에서 메모리 내 텍스트 파일을 만들고 다운로드하려면 어떻게 해야 합니까?

서버 상호 작용 없이 클라이언트 측에서 메모리 내 텍스트 파일을 만들고 다운로드하려면 어떻게 해야 합니까?

Patricia Arquette
풀어 주다: 2024-12-30 01:17:11
원래의
137명이 탐색했습니다.

How Can I Create and Download In-Memory Text Files Client-Side Without Server Interaction?

서버 상호작용 없이 클라이언트측 다운로드용 메모리 내 파일 생성

클라이언트측에서 텍스트 파일을 생성하고 사용자에게 다운로드하도록 요청 서버 개입이 없는 것은 웹 개발의 일반적인 요구 사항입니다. 그러나 보안 문제로 인해 사용자 컴퓨터에 직접 쓰는 것은 불가능합니다. 다행히 메모리에 파일을 생성하고 사용자에게 이를 저장하라는 메시지를 표시하는 솔루션이 있습니다.

클라이언트측 파일 생성 및 다운로드

이를 달성하려면, HTML5 호환 브라우저의 기능을 활용할 수 있습니다. 다음 JavaScript 코드 조각은 메모리에 텍스트 파일을 생성하고 다운로드 프로세스를 시작하는 방법을 보여줍니다.

function download(filename, text) {
  var element = document.createElement('a');
  element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
  element.setAttribute('download', filename);

  element.style.display = 'none';
  document.body.appendChild(element);

  element.click();

  document.body.removeChild(element);
}
로그인 후 복사

구현

이 코드를 사용하려면 다음을 생성할 수 있습니다. 파일 이름과 텍스트 내용을 허용하는 양식입니다. 제출 시 양식은 다운로드 기능을 호출하여 메모리 내 파일을 생성하고 사용자에게 이를 다운로드하라는 메시지를 표시합니다. HTML의 예제 양식:

<form onsubmit="download(this['name'].value, this['text'].value)">
  <input type="text" name="name" value="test.txt">
  <textarea name="text"></textarea>
  <input type="submit" value="Download">
</form>
로그인 후 복사

브라우저 호환성

위 솔루션은 HTML5를 지원하는 최신 브라우저에서 잘 작동합니다. 그러나 이전 브라우저를 지원해야 하는 경우 브라우저 호환성을 고려하는 것이 중요합니다.

위 내용은 서버 상호 작용 없이 클라이언트 측에서 메모리 내 텍스트 파일을 만들고 다운로드하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿