2014-01-26 5 views
3

친애하는 Haskell 커뮤니티 저는 첫 번째 GUI 애플리케이션을 작성했으며 threepenny-gui를 사용하기로 결정했습니다.threepenny-gui - 파일 열기

다음 작업은 지정된 폴더의 파일에서 일치하는 항목을 검색하고 해당 파일을 열 수있는 링크를 제공합니다. 또한 (주로) 특수 서식을 파일로 좋은 구문 분석 및 렌더링 기능을했다.

하지만 이제는 문제가 발생했습니다. 보안상의 이유로 대부분의 브라우저에서 로컬 파일에 대한 링크를 허용하지 않기 때문에 열어 보았습니다.

프로그램과 파일이 같은 폴더에있을 때 href="./file.pdf"을 사용하려고했는데 작동하지 않는 것으로 보입니다.

전체 응용 프로그램의 코드가 github/epsilonhalbe에서 확인할 수있다

, 나는 localhost:100000

+0

"스캔"버튼으로 아무 것도 할 수 없습니다. 문제를 재현하기위한 지침을 포함시켜야합니다. 하지만 정답은'main'에서'tpStatic'에 넣은 경로에 상대적인 모든 경로를 만드는 것입니다. 그리고 그 디렉토리 밖으로 이동할 수 없을 것이라고 확신합니다 (예 :'../ something'). –

+0

오, 대니얼 바그너 (Daniel Wagner)에게 감사드립니다. 답변을 수락하겠습니다. 파일을 정적 디렉토리에 넣기 만하면됩니다. - 스캔 버튼이 작동하지 않는 이유는 내가 찾을 수있는 PDF 파일이 없다는 것입니다. – epsilonhalbe

답변

4

에서 브라우저를 통해 폴더 접근을에서 실행 펜스 - GUI를 제공하는 HTTP 서버는 디렉토리에서 정적 컨텐츠를 제공 할 것이다 당신 tpStatic에 지정하십시오. 해당 디렉토리에 파일을 저장하고 링크의 경로를 상대적으로 설정하면 갈 수 있습니다.

threepenny-gui-0.4.*부터 자동으로 생성 된 URL에서 로컬 파일이나 디렉토리를 제공하는 데 사용할 수있는 두 가지 기능이 있습니다 (loadFileloadDirectory). tpStatic 필드가 충분하지 않은 경우 유용 할 수 있습니다.