如何修改/添加元数据到System.Drawing.Image文件

时间:2010-11-10 12:53:04

标签: c# system.drawing.imaging

商业目的:我正在创建一个CMS,并允许用户“删除”他们之前上传到服务器的图片。

问题:如果我允许他们真正删除图片,那么他们会留下他们用现在破坏的图片创建的旧帖子。示例:用户上传vtWinsACC2005.jpg,写一篇关于它链接到图像的文章,然后最终清理他的图库并删除该图像,但是单独留下文章,最后得到一篇图片损坏的文章。

目标:当用户“删除”他们之前上传的图片时,我想在IO中的实际文件中添加“注释”字段或任何类型的元数据,类似于“hidden = true”的东西,在我的GetFiles()逻辑中,我将检查以确保该元数据不存在。这样,用户看不到他们删除的图像,甚至可以在将来“还原”他们不想删除的图像。当他们恢复时,我可以简单地擦除该文件中的元数据,就是这样。

备用:使用userId + fileName在数据库中保留一个简单的查找表,并将其命名为“HiddenUserImage”,但是,上面的方法更有趣,如果我不需要添加另一张桌子,然后很棒!

任何想法?这将在C#中。谢谢!

2 个答案:

答案 0 :(得分:0)

我认为您可以为每个图像创建一个NTFS备用数据流,这是一个隐藏的ADS文件,映射到您的图像文件并存储hidden = true属性。

答案 1 :(得分:0)

使用db

中的查找表结束