2016-06-30 4 views
1

내가 목표로하는 것은 사용자가 동일한 폴더에있는 json 파일이나 해당 웹 페이지에있는 모든 json 파일을 수정할 수있는 기능입니다. 페이지. 이것은 내가 제어 할 수없는 로컬 smb에서 호스팅됩니다.웹 페이지를 통한 로컬 파일 수정

지금이 페이지는 json 파일을로드하여 내용을 표시하고로드 된 문자열에 저장하려는 새 json 문자열을 푸시하지만 그게 전부입니다.

저는 javascript/jQuery 솔루션을 살펴본 결과 js가 로컬 변경 사항을 허용하지 않는다는 사실을 신속하게 접했습니다. 그런 다음 FileSystem API를 만났습니다.이 API는 완벽 해 보였지만 죽었으며 어쨌든 Chrome에서만 작동했습니다. LocalStorage는 각 브라우저마다 고유하기 때문에 꺼져 있습니다. 이 같은

이상적 페이지 기능 :

  • 페이지 열기
  • JSON 파일에서
  • 정보를 표시 또는
  • 사용자가/편집에 뭔가를 추가/파일에하도록 선택 웹 페이지에서 JSON 변수
  • 사용자 데이터가 페이지
액세스하는 다른 사람이 지금에 액세스 할 수 있는지 업데이트 버튼
  • 을 클릭

    나는 이것이 약간 긴 샷이지만, 어떤 도움을 주시면 감사하겠습니다!

  • +0

    서버에 데이터를 저장하고 싶지 않으십니까? 그런 다음 해당 데이터를 각 사용자에게 보냅니다. –

    +0

    브라우저는 명시 적 사용자 개입없이 로컬 파일 액세스를 의도적으로 샌드 박싱하고 방지합니다. –

    +0

    @RushyPanchal 예,하지만 지금 당장 실행중인 문제는 데이터를 수정할 수있는 방법이 없다는 것입니다. 각 사용자는 파일을 저장할 위치에 액세스 할 수 있지만 모든 사용자가 보거나 사용할 수 있도록 해당 데이터를보고 편집 할 수있는 웹 페이지를 열 수 있기를 원합니다. 아마도 당신이 묻고있는 것에 뭔가 빠졌을까요? – Kean

    답변

    0

    Javascript가 브라우저에서 실행됩니다 (여기에서 논의하는 것과 다른 NodeJS 구현을 제외하고).

    즉, Javascript는 서버 리소스가 아닌 로컬 리소스에 액세스 할 수 있습니다. Javascript를 사용하여 서버 리소스에 액세스하거나 조작하려면 AJAX을 사용하여 서버에 요청을 보내고 요청에 따라 동작하도록 서버를 구성해야합니다 (질문에 AJAX로 JSON을 보내고 JSON을 저장하도록 서버를 구성하십시오. 파일로)

    그래서 프런트 엔드 및 백 엔드를 프로그래밍해야하는 상황을 달성하기 위해. 백 엔드는 서버가 다른 클라이언트에서 사용할 수 있도록 JSON 파일을 저장하는 것과 같은 요청을 받아들이며 프런트 엔드는 서버에서 JSON 파일을 요청합니다.

    추가 : 당신이 LAN에 있고 모든 사용자가 같은 네트워크 파일에 대한 액세스 권한을 가진 경우와 동일한 LAN에있을 예정하더라도, 자바 스크립트가 편집 파일의 방법이 없습니다 . 그것은 을 읽을 수 있지만을 읽을 수는 없습니다. 을 편집 할 수 없습니다. 자세한 내용은 File API을 확인하십시오.

    +0

    질문은 서버가 없다는 것을 분명히합니다. – Quentin

    +0

    사용자간에 데이터를 공유해야하며 서버가 없으면이 데이터를 공유 할 수 없습니다. (또는 모든 사용자가 동일한 LAN에 있습니까?) – Strahdvonzar