4

メタデータをファイルに追加する良い方法を探しています。dsofile.dllはNTFSで正常に機能します。FAT32共有にコピーをドロップするとメタデータが失われます(NTFSの隠しストリームを使用していると思います)。Microsoft Word文書には、失われないメタデータが含まれていますが、どのように処理しますか?FATと同様に、dsofileで作成されたすべてのメタデータ(およびWindowsエクスプローラーで手動で作成されたメタデータ)の電子メールストリップを介してファイルを送信します。個別のメタデータファイルはオプションではありません。標準のWindows技術と互換性がある必要があります。Outlookで誰かにファイルを送信し、そのファイルを返送しても、メタデータが失われることはありません。

(必要なメタデータは実際にはIDのみです)

4

3 に答える 3

2

問題は、すべてのファイル システムが最大公約数としてファイルの単一ストリーム ビューを提供することです。ファイルの「コンテンツ」を公開するこのインターフェイスを介して、プロパティを読み取ったり保存したりして、単純なシステム (またはユーザー) ユーティリティによって「コンテンツ」と一緒に転送することができます。たとえば、Windows の CopyFile は代替データ ストリームを慎重に失い、「シャドウ ファイル」の概念はありません。

問題は、「コンテンツ」の形式が任意のプロパティの追加を許可するかどうかです。

一部の形式では、任意のコンテンツが許可されます (たとえば、MSFT の docfile aka .doc/.xls/etc)。制限されたコンテンツ (.mp3、.jpg、.exe) を許可するものもあります。

一部は完全に SOL (.txt、.bmp) です。

于 2010-09-17T21:56:32.387 に答える
1

どのソリューションもフォーマットに依存します。MS OFFice ファイルは (すべて) 複合ファイルであり、そこにプロパティの場所があります。一部の形式 (PE ファイルなど) では、後で読み取る方法がわかっている場合は、ファイルの最後にデータを追加するだけで安全です。ZIP ファイルでは、おそらくディレクトリ内の場所を見つけるか、データを含むヘルパー ファイルをアーカイブに追加することができます。他の形式はこれに耐えられず、問題を解決するには独自の方法を見つける必要があります。

実際、ファイル名は ID の適切なプレースホルダーにもなります。

ファイルをどこかに保存する必要があるが、ファイルを外部のアプリケーションから読み取れる状態にしておく必要がない場合は、ファイルを ZIP アーカイブに圧縮するか、 SolFS ライブラリのようなものを使用できます。

于 2010-09-26T14:24:34.343 に答える
0

カスタムの DSOFile プロパティではなく、標準のプロパティについてはどうですか? つまり、コメント、作成者など? 彼らは一掃されますか?

これが理想かどうかはわかりませんが、DSOfile のプロパティを取得してテキスト ファイルを保存するツールを用意し、ファイルと一緒に電子メールで送信して、ユーザーがツールを使用して、テキストから dsofile プロパティを再インポートします。

于 2010-08-20T01:57:59.333 に答える