2

これらの文書の完全性を確認する手順は?doc,docx,docm,odt,rtf,pdf,odf,odp,xls,xlsx,xlsm,ppt,pptm

または少なくともそれらのいくつか。通常、コンテンツ リポジトリにアップロードするとき。

inputStream は常に MultiPart http リクエストから 99,99% 正しく読み取られていると思います。そうしないと、例外がスローされ、アクションが実行されます。しかし、ユーザーはすでに破損しているファイルをアップロードできます。それを確認するためにサードパーティのライブラリを使用しますか? odftoolkit、itextpdf、pdfbox、apache poi、またはtikaでそのようなものは見当たりませんでした

4

4 に答える 4

2

「腐敗」にはさまざまな種類があります。

  • 一部の破損は簡単に検出できます。たとえば、切り捨てられた ODF ファイルを開こうとすると、ZIP リーダーが読み取れないため、ほとんどの場合失敗します。

  • 他のものは文字通り検出不可能です。たとえば、RTF ファイル内の 1 文字の破損は検出されず、(私が思うに) ほとんどの RTF ファイルの切り捨ても検出されません。


技術的に可能な範囲であっても、これらすべてのファイル タイプに対してこの作業を実行する単一の (無料の) ツールを見つけたら、私は驚かれることでしょう。ドキュメント形式を読み書きするための現在の世代のオープン ソース ライブラリは、形式の 1 つのファミリのみに焦点を当てる傾向があります。これを真剣に考えている場合は、おそらく商用ライブラリを使用する必要があります。

于 2011-07-25T01:01:00.500 に答える
0

LibreOffice プロジェクト (既にこれらのアーカイブを処理している) を確認してください。Java で記述された部分があり、破損したファイルをチェックするメカニズムを見つけて使用できることを確認してください。

ここからコードを取得できると思います:

http://www.libreoffice.org/get-involved/developers/

于 2011-07-26T00:57:41.180 に答える
0

アップロードする前にファイルのチェックサム/ハッシュ (つまり、安全なハッシュ) を実行してから、チェックサムを個別にアップロードできます。その後ダウンロードされたファイルのチェックサムが同じである場合、元のファイルから変更されていません (使用されているチェックサム/ハッシュに応じて、一定の確率で)。

于 2011-07-25T00:30:59.367 に答える
0

上記のファイル形式のすべてについて、開くことができるサードパーティのライブラリがあります。「検証のみ」についてはわかりませんが、例外なく開くことができることなどは、少なくとも基本的なチェックです。ファイルは指定された形式内にあります...そのような(商用)ライブラリの1つはAspose、提携していない、ただの幸せな顧客です...

于 2011-07-25T00:16:53.587 に答える