IT TIP

jQuery를 사용하여 파일 읽기 / 쓰기

itqueen 2020. 11. 29. 12:48
반응형

jQuery를 사용하여 파일 읽기 / 쓰기


파일에서 정보를 얻기 위해 jQuery를 얻는 방법이 있습니까? 가능합니까? 어떻게?


아니요, JavaScript는 파일 작성에 대한 액세스 권한이 없습니다. 이는 최소한의 보안 위험이 될 수 있기 때문입니다. 하지만 서버 측 정보를 가져 오거나 저장하려면 PHP / ASP / Python 등으로 Ajax 호출을 할 수 있습니다. 그런 다음 서버에서 데이터를 가져 오거나 저장할 수있는 스크립트입니다. 클라이언트 컴퓨터에 데이터를 저장하려는 경우 JavaScript만으로는 불가능합니다. 플래시 / 자바를 사용할 수 있다고 생각하지만 확실하지 않습니다.

특정 사용자에 대해 불안정한 기간 동안 소량의 정보 만 저장하려는 경우 Web Storage API 또는 쿠키가 필요하다고 생각합니다 . 나는 당신이 성취하려는 것이 무엇인지 당신의 질문으로 확신하지 못합니다.


네 가능합니다.

기술은 아래에 설명되어 있습니다.

http://jquery.tiddlywiki.org/twFile.html


HTML5와 Google Gears 모두 주로 내장 된 SQLite API를 통해 로컬 저장소 기능을 추가합니다.


자바 스크립트 execCommand('SaveAs', false, filename);기능 사용

편집 : 더 이상 작동하지 않습니다. 이 Javascript 함수는 모든 브라우저에서 작동했지만 이제는 브라우저 보안 고려 사항으로 인해 IE에서만 작동합니다. 브라우저를 통해이 기능을 실행하는 사용자에게 "다른 이름으로 저장"대화 상자를 표시하고 사용자가 확인을 누르면 파일이 javascript로 서버 측에 저장됩니다.

이제이 코드는 희귀 한 골동품 제로 데이 수집품입니다.

// content is the data (a string) you'll write to file.
// filename is a string filename to write to on server side.
// This function uses iFrame as a buffer, it fills it up with your content
// and prompts the user to save it out.
function save_content_to_file(content, filename){
    var dlg = false;
    with(document){
     ir=createElement('iframe');
     ir.id='ifr';
     ir.location='about.blank';
     ir.style.display='none';
     body.appendChild(ir);
      with(getElementById('ifr').contentWindow.document){
           open("text/plain", "replace");
           charset = "utf-8";
           write(content);
           close();
           document.charset = "utf-8";
           dlg = execCommand('SaveAs', false, filename);
       }
       body.removeChild(ir);
     }
    return dlg;
}

다음과 같이 함수를 호출하십시오.

msg =  "I am the president of tautology club.";
save_content_to_file(msg, "C:\\test");

PHP 또는 ASP.net과 같은 웹 프로그래밍 언어를 통해 파일 액세스를 처리해야합니다.

이를 설정하려면 다음을 수행하십시오.

  • 파일 읽기 및 쓰기를 처리하는 스크립트를 만듭니다. 이것은 브라우저에 표시되어야합니다.

  • 데이터를 쓰거나 데이터를 읽는 해당 스크립트에 jQuery ajax 요청을 보냅니다. 요청 매개 변수를 통해 모든 읽기 / 쓰기 정보를 전달해야합니다. 이에 대한 자세한 내용은 jQuery ajax 문서에서 확인할 수 있습니다.

저장중인 모든 데이터는 잠재적으로 보안 위험이 될 수 있으므로 삭제해야합니다. 그러나 이것은 실제로는 표준 플랫 파일 데이터 저장소이며 반드시 그다지 드문 것은 아닙니다.

Paolo가 지적했듯이 jQuery 또는 다른 유형의 자바 스크립트를 통해 파일을 직접 읽고 쓸 수있는 방법은 없습니다.


쿠키가 최선의 선택입니다. jquery 쿠키 플러그인을 찾으십시오.

Cookies are designed for this sort of situation -- you want to keep some information about this client on client side. Just be aware that cookies are passed back and forth on every web request so you can't store large amounts of data in there. But just a simple answer to a question should be fine.


If you want to do this without a bunch of server-side processing within the page, it might be a feasible idea to blow the text value into a hidden field (using PHP). Then you can use jQuery to process the hidden field value.

Whatever floats your boat :)

참고URL : https://stackoverflow.com/questions/582268/read-write-to-file-using-jquery

반응형