질문/조언질답게시판

<!DOCTYPE html>

<html>

<head>

<script>

 

function TextFile() {

 

  var fs = require('fs');

fs.readFile('sample.txt','utf-8',function(err,data){

  console.log(data);

});

}

 

</script>

</head>

<body>

  <button onclick="TextFile()">test</button>

 

    

</body>

</html>

 

 

제가 이렇게 했는데 제 기억으로는 js는 문제 없는것 같은데 왜 안되는걸까요?

  • profile
    뭐가 안되시나요

    콘솔창에 에러 뜬건 있나요?
    require('fs'); <- 이친구는 뭐하는 친구인가요? 라이브러리라면 이친구를 따로 로딩했나요?
  • profile
    그건 Node.js에서만 되는 거 아닌가요
  • profile profile
    앗 맞다 그랬었군요 ㅠㅠ
  • profile profile
    웹에서 따로 파일 내용(txt)을 비교해야 하는데 방법이 있을까요?
  • profile profile
    웹에서 파일을 불러오는 방법은 드래그 드롭 같은 방식을 제외하면(이것도 사실상 file input을 사용하는 방식과 크게 다르지 않습니다) 사실상 input type=file을 통해 불러오는 방법뿐입니다.

    파일 선택시 자바스크립트로 파일 내용을 불러오거나, form으로 넘겨 서버 스크립트에서 처리할수 있습니다.
  • profile profile
    앗 그렇군요 감사합니다
  • profile profile
    그렇다면 사실상 js스스로 사용자 컴퓨터에서 파일을 불러오지 못한다는 건가요 ?
  • profile profile

    네. 그게 가능하면 치명적인 보안취약점이 되겠죠? 개인 파일을 임의로 불러올수 있게 될테니까요.

  • profile profile
    혹시 파일 경로를 임의로 정해주고 그 파일의 내용도 확인 못하나요?
  • profile profile
    네, 사용자가 직접 선택한 파일 외에는 다 안 됩니다.
  • profile profile
    아예 불가능하진 않긴 합니다. electron이라고 웹앱 이용하시면 fs 모듈 사용하셔서 파일을 불러올수 있긴 합니다. 하지만 이건 웹앱이라 가능한거고 정상적인 브라우저라면 죽었다 깨도 사용자가 보내는 파일 외 타 파일을 불러올수 없습니다.