2013-07-29 2 views
-1

저는 MS Word 문서를 HTML로 변환하고 있습니다. HTML 문서를 HTML5 캔버스의 I 프레임에 다른 대화식 요소와 함께 표시하려고합니다.Mongodb에 html, css, images 등을 포함한 웹 페이지를 저장합니다.

물론 변환 된 문서는 html, css, image 등의 파일이 모두 포함 된 웹 페이지가 최종 디스플레이에 기여합니다.

나는 Mongodb의 GridFS에서이 응용 프로그램에 모든 멀티미디어를 저장하고 있습니다. 그것은 서블릿에 의해 제공되고 있습니다.

웹 페이지를 구성하는 모든 파일을 mongodb에 저장할 때 사용할 수있는 좋은 전략이나 구현이 있습니까? 나는 GridFS에서 zip 파일 디렉토리를 저장하는 생각,하지만 난 컨텐츠를 제공하기 위해 압축을 해제하고 싶지 않아요.

+0

도움이 되셨습니까? http://docs.mongodb.org/manual/reference/gridfs/#gridfs-files-collection – eclipsis

+0

정말 도움이되지 않습니다 - 현재 GridFS를 사용하여 비디오, 오디오 및 이미지 파일을 저장하고 있으며, 그래서 나는 그것을 사용하는 방법을 일반적으로 이해합니다. 문제는 웹 페이지가 서로 서로 참조되는 많은 파일로 구성되어 있다는 것입니다 (html, css, image). 나는 이것을 mongodb/GridFS에 저장하고, 바람직하게는 자체 참조 된 단위로 저장하고 서블릿을 사용하여 호출자에게 제공 할 수 있습니다. – Ramesh

+0

이 질문에 보류를 이해하지 않는다 - 당신이 내부적으로 서로를 참조하는 여러 가지 파일로 구성 웹 페이지의 데이터 버전을 만들려면 어떻게해야합니까 - 그것은 사람들이 많은 다른 기술을 통해이 문제입니다. 즉,이 데이터의 파일 시스템 기반 표현에 대한 대안은 무엇입니까? 꽤 중요하고, 명확하고, 정확합니다. – Ramesh

답변

2

나는이 문제에 대한 해결책은 아주 간단 볼 : 당신이 저장할 때

  1. 당신은 HTML/CSS/JS에있는 모든 링크가 상대적 있는지 확인해야합니다 (당신은 상대에 절대에서 변환 할 수 있습니다 그들을 mongodb에서).

  2. 서블릿 요청 경로를 적절하게 모든 요청을 처리 구문 분석해야, 요청 된 리소스를 읽고 그 결과를 반환합니다.

예를 들면. 페이지 testA.html, testB.html, script.jsstyle.css이 있다고 가정 해 보겠습니다. 이 모든 것을 MongoDB에 저장하므로 파일의 이름과 내용을 알아야합니다. - 서블릿은,이 URL을 구문 분석하면 MongoDB의에서이 문서를 찾아서 콘텐츠의 반환해야하므로,이 testA.html을 문서화 기대 것을 발견

  1. 사용자 요청 페이지 http://yourmongodb/testA.html을 : 당신이 처리 할 필요가 무엇인지 살펴 보겠습니다 .
  2. 브라우저는 testA.html의 콘텐츠를 구문 분석하고 script.jsstyle.css을 찾습니다. 다시는 MongoDB를하고 당신이 반환해야 찾을 필요가 무엇인지를 알려줍니다, http://yourmongodb/script.jshttp://yourmongodb/style.css : 당신은 상대 주소로 모든 것을 유지하는 경우, 그래서 브라우저는 두 개의 추가 요청을 할 것입니다.
  3. testB.html (링크가 상대적인 링크) 인 경우 - 사용자가 링크를 클릭하면 브라우저에서 http://yourmongodb/testB.html을 요청합니다.

또한 디렉토리를 지원하려는 경우이 정보를 파일 컬렉션의 추가 평화로 유지할 수 있습니다.

+0

감사합니다. 패스를 사용하지 않아서 놓친 답변입니다.경로는 GridFS에서 선택 사항이며 파일 ID는 파일을 가져 오는 가장 빠른 방법입니다. 내 모든 파일을 ID로 검색합니다. 그러나 경로를 사용하여 이러한 파일에 액세스 할 수 있습니다. 첫 번째 부분은 서블릿을 활성화하고 두 번째 부분은 Mongodb에서 파일을 찾습니다. 당신이 말했듯이, 상대 경로를 일관되게 유지할 수 있습니다. 웹 페이지와 몽고 모두에서 작동합니다. mongo GridFS DAO에 디렉토리 구조를 업로드하는 메소드를 생성해야합니다. 하찮은 것은 아니지만 작동 할 것입니다. 더 단순한 제안을 한 사람이 아무도 없다면, 나는 이것을 할 것입니다. 감사합니다. – Ramesh

관련 문제