-1

MS Word ドキュメントを HTML に変換し、HTML5 キャンバスの I フレームに他のインタラクティブな要素と共に表示します。

もちろん、変換されたドキュメントは、最終的な表示に寄与する html、css、画像などのファイルを含む Web ページになります。

このアプリケーションのすべてのマルチメディアを Mongodb の GridFS に保存しています。サーブレットによって提供されています。

Webページを構成するすべてのファイルをmongodbに保存するために使用できる適切な戦略または実装はありますか? ディレクトリを GridFS の zip ファイルに保存することを考えましたが、コンテンツを提供するために解凍したくありません。

4

1 に答える 1

2

この問題の解決策は非常に簡単です。

  1. html/css/js 内のすべてのリンクが相対であることを確認する必要があります (mongodb に保存するときに、絶対リンクから相対リンクに変換できます)。

  2. サーブレットは、すべてのリクエストを適切に処理し、リクエスト パスを解析し、リクエストされたリソースを読み取り、結果として返す必要があります。

例えば。ページtestA.htmltestB.htmlscript.jsおよびがあるとしstyle.cssます。それらはすべてMongoDBに保存するため、ファイルの名前とその内容を知っておく必要があります。処理する必要があるものを見てみましょう。

  1. ユーザー要求ページhttp://yourmongodb/testA.html- サーブレットはこの URL を解析し、ドキュメント testA.html を予期していることを検出するため、mongodb でこのドキュメントを見つけて、そのコンテンツを返す必要があります。
  2. ブラウザは と のコンテンツを解析し、とtestA.htmlを見つけます。すべてを相対アドレスとして保持すると、ブラウザーは と の 2 つの追加の要求を実行します。これにより、mongodb で何を見つける必要があり、何を返す必要があるかがわかります。script.jsstyle.csshttp://yourmongodb/script.jshttp://yourmongodb/style.css
  3. testA.htmlへのリンクがある場合testB.html(およびリンクが相対的である場合) - ユーザーがリンクをクリックすると、ブラウザーは を要求しhttp://yourmongodb/testB.htmlます。

ディレクトリもサポートしたい場合は、この情報をファイル コレクションの追加の平和として保持できます。

于 2013-07-29T23:01:49.320 に答える