2012-08-27 1 views
0

누군가가 나에게 html 파일이어야 하드 드라이브에HTML이나 자바 스크립트 코드는 하드 디스크에있는 텍스트 파일을 만들 수 있습니다

결과를 텍스트 파일을 만들 수있는 코드를 제공하십시오 더블 클릭 HTML이 파일 하드 드라이브 (로컬)의 지정된 경로에 텍스트 파일을 만들어야합니다.

감사합니다.

+1

불가능합니다. [이 봐] (http://stackoverflow.com/questions/371875/local-file-access-with-javascript) – timidboy

+0

javascript는 하드 디스크에 파일을 쓸 수 없으므로 몇 가지 해결 방법이 필요할 수 있습니다. 플래시 또는 무언가를 사용 중일 수 있습니다. –

답변

1

브라우저의 일반 HTML 페이지에있는 자바 스크립트는 보안상의 이유로 하드 디스크에서 원하는 경로에 직접 액세스 할 수 없습니다.

새 브라우저에서 샌드 박스 파일 시스템에 몇 가지 기능을 제공하는 다소 실험적인, FileSystem APIs이지만 이러한 API에 만족할 필요가 있는지 확인해야합니다.

그 외에도, 뷰어가 승인하고 설치 한 브라우저 플러그인에서 수행하는 것과 같은 보안 제한 사항이 필요합니다.

+0

감사합니다. 이해합니다. 그것은 불가능합니다. –

1

웹 페이지가 인 사용자가 사용자가 원하는 위치에 파일을 만들 수 없음을 알 수있는 충분한 경험이 없다고합니다.

어쨌든, 는 방법이 있지만 한 샌드 박스, 브라우저에 의해 할당, 즉 예약 및 보호 된 공간에 파일을 만들 수 있습니다.

이것은 Chrome과 같은 최신 브라우저에서만 가능하며 현재는 그 밖의 기능이 없습니다.

첫째, 당신은 몇 가지 할당량을 요청해야합니다 : 성공 (gotQuota)에 대한 하나의 실패 (errorHandler)에 대한 하나

storageInfo.requestQuota(PERSISTENT, bytes, function(quota) { 
    requestFileSystem(PERSISTENT, quota, gotQuota, errorHandler); 
}, function(e) { 
    alert("Couldn't request quota:" + e); 
}); 

당신은이 콜백 함수를 정의해야합니다.

function gotQuota(fs) { 
    // Creates a file 
    fs.root.getFile('file.txt', {create: true}, function(fileEntry) { 
     fileEntry.createWriter(function(fw) { 
      fileWriter.onwriteend = function(e) { 
       console.log("Write successful."); 
      }; 
      fileWriter.onerror = function(e) { 
       console.log("Write failed: " + e); 
      }; 
      fw.write(new Blob(["This is the content"], {type: "text/plain"}); 
     }); 
    }, errorHandler); 
} 

남자, 그것은 이러한 기능 중 일부는 접두사 공급 업체 (예를 들어, webkitStorageInfo)입니다 명심 ... 복잡합니다.

Reference.

+0

감사합니다. 이해합니다. 불가능합니다. –

관련 문제