2014-04-24 4 views
1

현재 우리 회사에서 사용할 네트워크 드라이브 용 로컬 검색 엔진을 구축 중입니다.사용자에게 파일 제공 // 파일

검색 엔진은 Solr과 Tika를 기반으로합니다. 네트워크를 통해 Samba 공유를 인덱싱하는 인덱서를 만들었습니다.이 인덱서는 구성 파일에 제공된 모든 디렉터리를 인덱싱합니다. 그러나 그것은 정말로 관련이 없습니다.

현재 Solr에 연결하고 검색 결과를 전달하는 웹 인터페이스는 절대 또는 Samba 경로가있는 파일에 대한 링크 인 로컬 file:// 파일을 제공하려고 시도합니다. 그러나 file://의 서비스는 물론 Google 크롬과 같은 브라우저에서는 허용되지 않습니다. 크롬주는 오류 : 분명하고 논리적이다

Not allowed to load local resource: file:///name/to/file.pdf 

그러나 나는 그 문제를 해결하고 사용자에게 '지역'파일을 제공하고자합니다. 또는 최소한 주어진 경로로 Explorer 창을 엽니 다.

이것이 가능한지 또는 사용할 수있는 대안이 있는지 궁금합니다. 이 파일을 제공 할 서버는 Apache 또는 Tomcat에서 실행됩니다 (중요하지 않음).

답변

0

브라우저 특정 플러그인을 사용하지 않고 file://을 열면 거의 불가능 해 보입니다. 특정 디렉토리와 함께 explorer.exe을 열 수있는 Windows 전용 응용 프로그램과 결합 된 맞춤 URI 처리기를 지정하여 해결 방법을 만들었습니다.

이것은 내 질문에 대한 이상적인 대답은 아니지만 인트라넷 검색 응용 프로그램에 대한 적절한 해결책이라고 생각합니다.

0

응용 프로그램에서 브라우저로 파일을 스트리밍하는 것이 유용성 및 보안 관점에서 훨씬 더 좋습니다.

스트림에 MIME 형식을 할당하면 사용자 브라우저가 파일을 열어 사용자에게 가장 잘 표시 할 방법을 결정할 수 있습니다.

응용 프로그램에서 스트리밍하면 데이터 제어가 유지 될 수 있습니다. 서버에있는 파일의 위치가 공개되지 않고 적절한 인증, 권한 부여 및 감사가 쉽게 이루어집니다.

은 SOLR 및 티카의 사용에 자바를 기반으로 가정하면 :

http://www.java-forums.org/blogs/servlet/668-how-write-servlet-sends-file-user-download.html

+0

이 좋은 제안이지만. 나는 파일의 위치를 ​​사용자에게 알려주고 명시 적으로 사용자가이 디렉토리를 열길 원한다. –