2009-08-05 5 views
4

Je suis à la recherche d'un bon moyen d'ajouter des métadonnées à un fichier. dsofile.dll fonctionne très bien pour NTFS. Les métadonnées sont perdues, quand on laisse tomber une copie sur un partage FAT32 (il utilise des flux cachés NTFS je suppose). Les documents Microsoft Word contiennent des métadonnées qui ne sont pas perdues, comment le font-ils? Similaire à FAT, l'envoi du fichier par E-Mail bandes de toutes les méta-données créées avec dsofile (et aussi méta-données créées à la main avec Windows Explorer). Les fichiers de méta-données séparés ne sont pas une option. Il doit être compatible avec les techniques Windows standard. Si j'envoie un fichier à Outlook et qu'il le renvoie, les méta-données ne doivent pas être perdues.dsofile C# Propriétés de fichier personnalisées API/NTFS

(les méta-données nécessaires est en fait seulement une carte d'identité)

+0

Word ne stocke-t-il pas toutes les métadonnées dans le fichier? –

+1

oui. MS-Word stocke les métadonnées dans le format de fichier .doc lui-même. Les flux de données cachés NTFS sont un mécanisme de stockage de métadonnées distinct, qui n'exige pas que le format de fichier lui-même soit conscient des métadonnées. L'inconvénient est que les applications naïves ne copient pas les métadonnées des flux cachés NTFS lors de la copie du fichier. – Cheeso

Répondre

1

Toute solution dépend du format. Les fichiers MS OFfice sont (tous) des fichiers composés et il y a une place pour les propriétés. Dans certains formats (fichiers PE, par exemple), il est prudent d'ajouter des données à la fin du fichier, si vous savez comment les lire plus tard. Dans le fichier ZIP, vous pouvez probablement trouver une place dans le répertoire ou simplement ajouter un fichier d'aide avec vos données à l'archive. Les autres formats ne peuvent pas supporter cela, et vous devrez trouver votre propre façon de résoudre le problème.

En fait, le nom de fichier peut également être un bon espace réservé pour votre ID.

Si vous avez besoin de stocker les fichiers quelque part mais n'avez pas besoin que le fichier reste lisible par des applications externes, vous pouvez les empaqueter dans des archives ZIP ou utiliser notre bibliothèque SolFS .

+0

À droite, dans le format zip, il n'existe actuellement aucun mécanisme formalisé pour stocker les métadonnées NTFS à partir de «flux de données cachés» dans l'entrée zip. Normalement, cette métadonnée NTFS n'est pas stockée du tout dans le zip. – Cheeso

0

Et les propriétés standard plutôt que sur mesure Dsofile propriétés? Ie Commentaires, Auteur etc? sont-ils essuyés?

Nous ne savons pas si c'est l'idéal, mais nous avons un outil qui va prendre les propriétés de DSOfile et enregistrer un fichier texte, qui est ensuite envoyé avec le fichier, et à l'autre bout l'utilisateur exécute un outil pour réimporter les propriétés dsofile à partir du texte.

2

Le problème est que tous les systèmes de fichiers fournissent une vue de flux unique du fichier en tant que plus grand dénominateur commun. Grâce à cette interface qui expose les fichiers "contenus", vous pouvez lire ou stocker des propriétés et les faire transporter avec le "contenu" par des utilitaires système naïfs (ou utilisateurs). Par exemple, CopyFile dans Windows perdra soigneusement les flux de données alternatifs et n'a aucune notion de "fichiers cachés".

La question est de savoir si le format du «contenu» permet l'ajout arbitraire de propriétés.

Certains formats autorisent un contenu arbitraire (par exemple, docfile de MSFT, aka .doc/.xls/etc). Certains permettent un contenu limité (.mp3, .jpg, .exe).

Certains sont complètement SOL (.txt, .bmp).

Questions connexes