2011-01-31 1 views
1

클라이언트 컴퓨터에 JavaScript로 만든 몇 개의 파일을 저장하는 방법을 찾고 있습니다. 나는 그에게 폴더를 선택하고 (폴더 열기/저장 대화 상자와 비슷 함) 파일을 쓸 수 있기를 바랍니다. 여기에는 분명히 세 가지가 필요합니다.Java 애플릿이 "디렉토리 선택"을 열고 JavaScript 상호 작용을 통해 파일 시스템에 쓸 수 있습니까?

  • 이러한 대화 상자를 팝업 할 수 있습니다.
  • 클라이언트 컴퓨터에 글을 쓸 수있는 기능 (서명 된 애플릿)
  • 글을 쓸 파일 이름과 내용을 알고 있기 때문에 JavaScript와 상호 작용할 수있는 방법이 있습니다.

꿈이 멈출 수 있습니까?

답변

3

그것은 확실히 가능하다 설명 자바 스크립트에서 자바를 호출 `JSObject을 통해 달성 될 수있다.

한 가지 방법은 서명 된 애플릿을 사용하는 것이지만 사용자가 Java 1.6.0_10 +로 업그레이드하려는 경우 서명 된 애플릿이 필요하지 않습니다. 1.6.0_10 (차세대 Java Plug-In) 이래, 임베디드 애플릿에는 JNLP API 서비스를 사용할 수 있습니다. 다음은 demo. of the JNLP file services입니다.

다른 응답은 이미 애플릿/JS 상호 작용을 다룹니다.

+0

다른 방법이 있다는 것을 알고있는 것이 좋습니다. – biziclop

+0

먼저 다운로드하지 않고 실행할 수 있습니까 (Chrome)? – Tower

+0

2 월 4 일의 댓글 만 주목했습니다. 그리고 .. 어? JNLP 파일을 언급하고 있습니까? 다운로드는 특히 배포가 잘된 ** 애플릿 **에 대해 최종 사용자에게 상대적으로 투명해야합니다. –

3

서명 된 애플릿으로 가능합니다.

나는 다른 방법으로 자바 스크립트 코드가 애플릿에 모든 데이터를 전달하게하고 애플릿은 FileDialog을 열고 파일을 작성해야한다. 자바에서

호출하는 자바 스크립트는 here

+0

링크 추가시 도움을 청합니다. –

1

애플릿에 서명하면 일반 응용 프로그램에서 수행 할 수있는 모든 작업을 수행 할 수 있습니다. "파일 대화 상자"를 열 수는 있지만 사용자가 <intput type"file"/> 태그의 "찾기"버튼을 눌렀을 때 열리는 대화 상자가 아니라 Java 대화 상자가됩니다. 분명히 서명 된 애플릿은 사용자의 디스크로 읽기 및 쓰기 작업을 수행 할 수 있습니다.

모든 애플릿 (서명 또는 부호 없음)은 JSObject을 사용하여 javascript를 호출 할 수 있습니다. 애플릿 태그에 MAYSCRIPT = "true"라고 말하면됩니다.

브라우저의 "파일 열기"대화 상자 애플릿을 열 수 없다고 생각합니다. 실제로 당신은 심지어 정규 자바 스크립트를 사용하여 열 수 없습니다. (나는이 시점에서 내가 틀렸다는 것을 알게되어 기쁩니다. 그러나 나는 이것을 시도하고 실패하기 위해 약간의 시간을 보냈습니다.)

+0

플랫폼에 따라 자바 스크립트를 통해 열 수 있지만 저장 대화 상자가 아닌 열린 대화 상자에서만 열 수 있습니다. Firefox 4에서는 입력에 클릭 호출을 직접 트리거 할 수 있으며 다른 브라우저에서는 입력을 숨기고 클릭하면 대화 상자가 열리는 다른 요소 아래에 배치 할 수 있습니다. – Tower

+0

MAYSCRIPT는 이상한 속성입니다. "= true"부분은 필요 없으며 애플릿 요소 자체에 추가하면됩니다. –

관련 문제